diff options
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_image_depth_linear_frag.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_image_depth_linear_frag.glsl | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_image_depth_linear_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_depth_linear_frag.glsl new file mode 100644 index 00000000000..7f76fbf03be --- /dev/null +++ b/source/blender/gpu/shaders/gpu_shader_image_depth_linear_frag.glsl @@ -0,0 +1,22 @@ + +#if __VERSION__ == 120 + varying vec2 texCoord_interp; + #define fragColor gl_FragColor +#else + in vec2 texCoord_interp; + out vec4 fragColor; + #define texture2D texture +#endif + +uniform float znear; +uniform float zfar; +uniform sampler2D image; + +void main() +{ + float depth = texture2D(image, texCoord_interp).r; + + /* normalize */ + fragColor.rgb = vec3((2.0f * znear) / (zfar + znear - (depth * (zfar - znear)))); + fragColor.a = 1.0f; +} |