summaryrefslogtreecommitdiff
path: root/pbr/ibl_irradiance/cubemap.frag
diff options
context:
space:
mode:
authorpryazha <pryadeiniv@mail.ru>2025-08-02 13:21:42 +0500
committerpryazha <pryadeiniv@mail.ru>2025-08-02 13:21:42 +0500
commit2e64d3c5d6eb1eb04168d39d5eb5f2d89af1a8b0 (patch)
tree85c8a586a1343469cdcdab5dccad023053571ecd /pbr/ibl_irradiance/cubemap.frag
parent33d5f67044d104d69cb2d11e78e6a79bc20d4c4e (diff)
debug chapterHEADmaster
Diffstat (limited to 'pbr/ibl_irradiance/cubemap.frag')
-rw-r--r--pbr/ibl_irradiance/cubemap.frag25
1 files changed, 25 insertions, 0 deletions
diff --git a/pbr/ibl_irradiance/cubemap.frag b/pbr/ibl_irradiance/cubemap.frag
new file mode 100644
index 0000000..349347a
--- /dev/null
+++ b/pbr/ibl_irradiance/cubemap.frag
@@ -0,0 +1,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);
+}