summaryrefslogtreecommitdiff
path: root/advanced_lighting/3.1.shadow_mapping/shaders/debug_quad.fs
diff options
context:
space:
mode:
Diffstat (limited to 'advanced_lighting/3.1.shadow_mapping/shaders/debug_quad.fs')
-rw-r--r--advanced_lighting/3.1.shadow_mapping/shaders/debug_quad.fs27
1 files changed, 27 insertions, 0 deletions
diff --git a/advanced_lighting/3.1.shadow_mapping/shaders/debug_quad.fs b/advanced_lighting/3.1.shadow_mapping/shaders/debug_quad.fs
new file mode 100644
index 0000000..d250894
--- /dev/null
+++ b/advanced_lighting/3.1.shadow_mapping/shaders/debug_quad.fs
@@ -0,0 +1,27 @@
+#version 330 core
+
+in vec2 tex_coords;
+
+out vec4 frag_color;
+
+uniform sampler2D depth_map;
+uniform float near;
+uniform float far;
+
+float
+linearize_depth(float depth)
+{
+ float z = (depth+1.0)*0.5;
+ return((2.0*near*far)/(far+near-z*(far-near)));
+}
+
+void
+main(void)
+{
+ float depth = texture(depth_map, tex_coords).r;
+
+ /* frag_color = vec4(vec3(depth), 1.0); */
+
+ /* NOTE(pryazha): For visual debugging of perspective projection light */
+ frag_color = vec4(vec3(linearize_depth(depth)/far), 1.0);
+}