diff options
author | Sven Gothel <[email protected]> | 2012-02-18 16:59:52 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-02-18 16:59:52 +0100 |
commit | 390ef63a8da4c3e89b2f61526b641b1b2b82f42d (patch) | |
tree | ba0fd8f3294bc9af8381796efd4a91c871615c86 /src/demos/dualDepthPeeling/shader/front_peeling_peel.fp | |
parent | d7e533dca5c70d7c07d56457764e733085136c0a (diff) |
unify shader names(2)
Diffstat (limited to 'src/demos/dualDepthPeeling/shader/front_peeling_peel.fp')
-rw-r--r-- | src/demos/dualDepthPeeling/shader/front_peeling_peel.fp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/demos/dualDepthPeeling/shader/front_peeling_peel.fp b/src/demos/dualDepthPeeling/shader/front_peeling_peel.fp new file mode 100644 index 0000000..7f58b3e --- /dev/null +++ b/src/demos/dualDepthPeeling/shader/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); +} |