blob: 349347a9811115d075cc9216a425d263e9cdc342 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#version 330 core
in vert_t {
vec3 position;
} vert;
out vec4 frag_color;
uniform sampler2D map;
const vec2 inv_atan = vec2(0.1591, 0.3183);
vec2 sample_spherical_map(vec3 v)
{
vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
uv *= inv_atan;
uv += 0.5;
return uv;
}
void main(void)
{
vec2 uv = sample_spherical_map(normalize(vert.position));
vec3 color = texture(map, uv).rgb;
frag_color = vec4(color, 1.0);
}
|