diff options
author | talha <talha@talhaamir.xyz> | 2024-04-22 03:38:29 +0500 |
---|---|---|
committer | talha <talha@talhaamir.xyz> | 2024-04-22 03:38:29 +0500 |
commit | ca2835943ca4327ad08b54af480e0c6333df201f (patch) | |
tree | 1cac87ca6d6ceee89f91d8735f319805d4bad38e /source/lessons/instanced_rendering/basic quads/shaders/depth_test.fs.glsl | |
parent | 9900ffe840ee0e9f914b0e7956a4e80ffb553e9e (diff) |
Completed main levels to progress to text-rendering and 2d development.
- Only lessons left are geometry shaders and anti-aliasing
- will get to those later on soon
- need to do text rendering now
Diffstat (limited to 'source/lessons/instanced_rendering/basic quads/shaders/depth_test.fs.glsl')
-rw-r--r-- | source/lessons/instanced_rendering/basic quads/shaders/depth_test.fs.glsl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/source/lessons/instanced_rendering/basic quads/shaders/depth_test.fs.glsl b/source/lessons/instanced_rendering/basic quads/shaders/depth_test.fs.glsl new file mode 100644 index 0000000..796d849 --- /dev/null +++ b/source/lessons/instanced_rendering/basic quads/shaders/depth_test.fs.glsl @@ -0,0 +1,30 @@ +#version 330 core + + +in vec2 TexCoords; +in vec3 VertexWorldPos; +uniform sampler2D TexId; +out vec4 FragColor; + +uniform float near = 0.1f; +uniform float far = 100.0f; + +/* @note +float linear_fragment_depth = MakeDepthLinear(non_linear_fragment_depth); +float scaled_lfd = linear_fragment_depth/far; + +gives us the z value in eye space. +This is purely for learning purposes. +The equation used in MakeDepthLinear is derived from the PerspectiveProjectionMatrix. +Take a look at the equation for that in the codebase +or here: https://www.songho.ca/opengl/gl_projectionmatrix.html +*/ +float MakeDepthLinear(float depth) { + float ndc = 2.0f*depth - 1; + float linear_depth = (2.0 * far * near)/(far + near - ndc*(far - near)); + return linear_depth; +} + +void main() { + FragColor = texture(TexId, TexCoords); +} |