raylib/examples/models/resources/shaders/glsl330/skybox.fs

44 lines
1.1 KiB
Forth
Raw Normal View History

2017-07-17 15:06:27 +03:00
/*******************************************************************************************
*
* rPBR [shader] - Background skybox fragment shader
*
* Copyright (c) 2017 Victor Fisac
*
* 19-Jun-2020 - modified by Giuseppe Mastrangelo (@peppemas) - VFlip Support
*
2017-07-17 15:06:27 +03:00
**********************************************************************************************/
#version 330
// Input vertex attributes (from vertex shader)
in vec3 fragPosition;
2017-07-17 15:06:27 +03:00
// Input uniform values
uniform samplerCube environmentMap;
uniform bool vflipped;
2017-07-17 15:06:27 +03:00
// Output fragment color
out vec4 finalColor;
vec4 flipTextureCube(samplerCube sampler, vec3 texCoord) {
return texture(sampler, vec3(texCoord.x,-texCoord.y,texCoord.z));
}
2017-07-17 15:06:27 +03:00
void main()
{
// Fetch color from texture map
vec3 color;
if (vflipped )
color = flipTextureCube(environmentMap, fragPosition).rgb;
else
color = texture(environmentMap, fragPosition).rgb;
2017-07-17 15:06:27 +03:00
// 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);
}