mirror of https://github.com/mode777/rayjs.git
32 lines
772 B
Forth
32 lines
772 B
Forth
|
#version 100
|
||
|
|
||
|
precision mediump float;
|
||
|
|
||
|
// Input vertex attributes (from vertex shader)
|
||
|
varying vec3 fragPosition;
|
||
|
|
||
|
// Input uniform values
|
||
|
uniform samplerCube environmentMap;
|
||
|
uniform bool vflipped;
|
||
|
uniform bool doGamma;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
// Fetch color from texture map
|
||
|
vec4 texelColor = vec4(0.0);
|
||
|
|
||
|
if (vflipped) texelColor = textureCube(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z));
|
||
|
else texelColor = textureCube(environmentMap, fragPosition);
|
||
|
|
||
|
vec3 color = vec3(texelColor.x, texelColor.y, texelColor.z);
|
||
|
|
||
|
if (doGamma) // Apply gamma correction
|
||
|
{
|
||
|
color = color/(color + vec3(1.0));
|
||
|
color = pow(color, vec3(1.0/2.2));
|
||
|
}
|
||
|
|
||
|
// Calculate final fragment color
|
||
|
gl_FragColor = vec4(color, 1.0);
|
||
|
}
|