diff options
Diffstat (limited to 'deps/raylib/examples/models/resources/shaders/glsl330/cubemap.fs')
-rw-r--r-- | deps/raylib/examples/models/resources/shaders/glsl330/cubemap.fs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/deps/raylib/examples/models/resources/shaders/glsl330/cubemap.fs b/deps/raylib/examples/models/resources/shaders/glsl330/cubemap.fs new file mode 100644 index 0000000..f59003f --- /dev/null +++ b/deps/raylib/examples/models/resources/shaders/glsl330/cubemap.fs @@ -0,0 +1,30 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform sampler2D equirectangularMap; + +// Output fragment color +out vec4 finalColor; + +vec2 SampleSphericalMap(vec3 v) +{ + vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); + uv *= vec2(0.1591, 0.3183); + uv += 0.5; + return uv; +} + +void main() +{ + // Normalize local position + vec2 uv = SampleSphericalMap(normalize(fragPosition)); + + // Fetch color from texture map + vec3 color = texture(equirectangularMap, uv).rgb; + + // Calculate final fragment color + finalColor = vec4(color, 1.0); +} |