12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*******************************************************************************************
- *
- * rPBR [shader] - Background skybox fragment shader
- *
- * Copyright (c) 2017 Victor Fisac
- *
- * 19-Jun-2020 - modified by Giuseppe Mastrangelo (@peppemas) - VFlip Support
- *
- **********************************************************************************************/
- #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);
- }
|