armory/raw/env_map/env_map.frag.glsl

25 lines
457 B
Plaintext
Raw Normal View History

2016-01-28 00:58:00 +01:00
#version 450
2015-12-17 14:25:42 +01:00
#ifdef GL_ES
precision mediump float;
#endif
#define PI 3.1415926
#define TwoPI (2.0 * PI)
uniform sampler2D envmap;
2016-02-08 12:03:20 +01:00
in vec3 normal;
2015-12-17 14:25:42 +01:00
2016-02-08 12:03:20 +01:00
vec2 envMapEquirect(vec3 normal) {
float phi = acos(normal.z);
float theta = atan(normal.x, normal.y) + PI;
2016-01-28 00:58:00 +01:00
return vec2(theta / TwoPI, phi / PI);
2015-12-17 14:25:42 +01:00
}
2016-01-24 22:32:51 +01:00
void main() {
2016-02-08 12:03:20 +01:00
vec3 n = normalize(normal);
2016-02-10 18:47:49 +01:00
gl_FragColor = texture(envmap, envMapEquirect(n));
// gl_FragData[0] = texture(envmap, envMapEquirect(n));
2015-12-17 14:25:42 +01:00
}