summaryrefslogtreecommitdiff
path: root/pbr/2.1.2.ibl_irradiance/cubemap.frag
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);
}