123456789101112131415161718192021222324252627282930 |
- #version 330
- // Input vertex attributes (from vertex shader)
- in vec3 fragPosition;
- // Input uniform values
- uniform samplerCube environmentMap;
- uniform bool vflipped;
- uniform bool doGamma;
- // Output fragment color
- out vec4 finalColor;
- void main()
- {
- // Fetch color from texture map
- vec3 color = vec3(0.0);
- if (vflipped) color = texture(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb;
- else color = texture(environmentMap, fragPosition).rgb;
- if (doGamma)// Apply gamma correction
- {
- color = color/(color + vec3(1.0));
- color = pow(color, vec3(1.0/2.2));
- }
- // Calculate final fragment color
- finalColor = vec4(color, 1.0);
- }
|