diff options
author | Sven Gothel <[email protected]> | 2012-02-18 16:59:10 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-02-18 16:59:10 +0100 |
commit | d7e533dca5c70d7c07d56457764e733085136c0a (patch) | |
tree | 33623050fb5dd3967de8fd455549c15ae4c0097e /src/demos/dualDepthPeeling/shaders/front_peeling_peel.fp | |
parent | abe9a0f08f45513017f272d61572421b93e3231a (diff) |
unify shader names
Diffstat (limited to 'src/demos/dualDepthPeeling/shaders/front_peeling_peel.fp')
-rw-r--r-- | src/demos/dualDepthPeeling/shaders/front_peeling_peel.fp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/demos/dualDepthPeeling/shaders/front_peeling_peel.fp b/src/demos/dualDepthPeeling/shaders/front_peeling_peel.fp new file mode 100644 index 0000000..7f58b3e --- /dev/null +++ b/src/demos/dualDepthPeeling/shaders/front_peeling_peel.fp @@ -0,0 +1,25 @@ +//-------------------------------------------------------------------------------------- +// Order Independent Transparency with Depth Peeling +// +// Author: Louis Bavoil +// Email: [email protected] +// +// Copyright (c) NVIDIA Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +uniform samplerRECT DepthTex; + +vec4 ShadeFragment(); + +void main(void) +{ + // Bit-exact comparison between FP32 z-buffer and fragment depth + float frontDepth = textureRect(DepthTex, gl_FragCoord.xy).r; + if (gl_FragCoord.z <= frontDepth) { + discard; + } + + // Shade all the fragments behind the z-buffer + vec4 color = ShadeFragment(); + gl_FragColor = vec4(color.rgb * color.a, color.a); +} |