- #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);
- }
|