LightCube.frag 661 B

123456789101112131415161718192021222324252627
  1. uniform samplerCube lightCube;
  2. varying vec4 vertexColor;
  3. varying vec3 normal;
  4. uniform vec4 ambient_color;
  5. void main()
  6. {
  7. vec4 texColor = textureCube(lightCube, normal);
  8. vec4 color = vec4(1.0,1.0,1.0,1.0) + ambient_color;
  9. color = clamp((color*vertexColor*texColor), 0.0, 1.0);
  10. // fog
  11. const float LOG2 = 1.442695;
  12. float z = gl_FragCoord.z / gl_FragCoord.w;
  13. float fogFactor = exp2( -gl_Fog.density *
  14. gl_Fog.density *
  15. z *
  16. z *
  17. LOG2 );
  18. fogFactor = clamp(fogFactor, 0.0, 1.0);
  19. color = mix(gl_Fog.color, color, fogFactor );
  20. color.a = vertexColor.a * texColor.a;
  21. gl_FragColor = color;
  22. }