|
@@ -11,33 +11,24 @@
|
|
|
#version 110
|
|
|
|
|
|
// Input vertex attributes (from vertex shader)
|
|
|
-in vec3 fragPosition;
|
|
|
+varying vec3 fragPosition;
|
|
|
|
|
|
// Input uniform values
|
|
|
uniform samplerCube environmentMap;
|
|
|
uniform bool vflipped;
|
|
|
|
|
|
-// Output fragment color
|
|
|
-out vec4 finalColor;
|
|
|
-
|
|
|
-vec4 flipTextureCube(samplerCube sampler, vec3 texCoord) {
|
|
|
- return texture(sampler, vec3(texCoord.x,-texCoord.y,texCoord.z));
|
|
|
-}
|
|
|
-
|
|
|
void main()
|
|
|
{
|
|
|
// Fetch color from texture map
|
|
|
- vec3 color;
|
|
|
+ vec3 color = { 0.0 };
|
|
|
|
|
|
- if (vflipped )
|
|
|
- color = flipTextureCube(environmentMap, fragPosition).rgb;
|
|
|
- else
|
|
|
- color = texture(environmentMap, fragPosition).rgb;
|
|
|
+ if (vflipped) color = texture2D(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb;
|
|
|
+ else color = texture2D(environmentMap, fragPosition).rgb;
|
|
|
|
|
|
// 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);
|
|
|
+ gl_FragColor = vec4(color, 1.0);
|
|
|
}
|