skybox.fs 746 B

1234567891011121314151617181920212223242526272829
  1. #version 120
  2. // Input vertex attributes (from vertex shader)
  3. varying vec3 fragPosition;
  4. // Input uniform values
  5. uniform samplerCube environmentMap;
  6. uniform bool vflipped;
  7. uniform bool doGamma;
  8. void main()
  9. {
  10. // Fetch color from texture map
  11. vec4 texelColor = vec4(0.0);
  12. if (vflipped) texelColor = textureCube(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z));
  13. else texelColor = textureCube(environmentMap, fragPosition);
  14. vec3 color = vec3(texelColor.x, texelColor.y, texelColor.z);
  15. if (doGamma) // Apply gamma correction
  16. {
  17. color = color/(color + vec3(1.0));
  18. color = pow(color, vec3(1.0/2.2));
  19. }
  20. // Calculate final fragment color
  21. gl_FragColor = vec4(color, 1.0);
  22. }