Mipmapping
[opengl.git] / equirectangularfrag.glsl
1 #version 330
2
3 in vec3 localPos;
4 out vec4 fragColor;
5
6 uniform sampler2D equirectangularMap;
7
8 const vec2 invAtan = vec2(0.1591, 0.3183);
9
10 vec2 sampleSphericalMap(vec3 v) {
11         vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
12         uv *= invAtan;
13         return uv + 0.5;
14 }
15
16 void main() {
17         vec3 flippedPos = localPos;
18         flippedPos.y *= -1;
19         vec2 uv = sampleSphericalMap(normalize(flippedPos));
20         fragColor = vec4(texture(equirectangularMap, uv).rgb, 1.f);
21 }