environment.glslf 870 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef ENVIRONMENT_GLSLF
  2. #define ENVIRONMENT_GLSLF
  3. // #import u_horizon_color;
  4. // #import u_zenith_color;
  5. // #import u_sky_texture;
  6. /*==============================================================================
  7. VARS
  8. ==============================================================================*/
  9. #var USE_ENVIRONMENT_LIGHT 0
  10. #var SKY_COLOR 0
  11. #var SKY_TEXTURE 0
  12. /*============================================================================*/
  13. vec3 get_environment_color(vec3 normal) {
  14. #if USE_ENVIRONMENT_LIGHT
  15. # if SKY_TEXTURE
  16. return GLSL_TEXTURE_CUBE(u_sky_texture, normal).rgb;
  17. # elif SKY_COLOR
  18. float sky_factor = 0.5 * normal.z + 0.5; // dot of vertical vector and normal
  19. return mix(u_horizon_color, u_zenith_color, sky_factor);
  20. # else
  21. return vec3(1.0);
  22. # endif
  23. #else
  24. return vec3(0.0);
  25. #endif
  26. }
  27. #endif