summaryrefslogtreecommitdiffstats
path: root/src/demos/dualDepthPeeling/shader/dual_peeling_final.fp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-02-18 16:59:52 +0100
committerSven Gothel <[email protected]>2012-02-18 16:59:52 +0100
commit390ef63a8da4c3e89b2f61526b641b1b2b82f42d (patch)
treeba0fd8f3294bc9af8381796efd4a91c871615c86 /src/demos/dualDepthPeeling/shader/dual_peeling_final.fp
parentd7e533dca5c70d7c07d56457764e733085136c0a (diff)
unify shader names(2)
Diffstat (limited to 'src/demos/dualDepthPeeling/shader/dual_peeling_final.fp')
-rw-r--r--src/demos/dualDepthPeeling/shader/dual_peeling_final.fp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/demos/dualDepthPeeling/shader/dual_peeling_final.fp b/src/demos/dualDepthPeeling/shader/dual_peeling_final.fp
new file mode 100644
index 0000000..ec57117
--- /dev/null
+++ b/src/demos/dualDepthPeeling/shader/dual_peeling_final.fp
@@ -0,0 +1,28 @@
+//--------------------------------------------------------------------------------------
+// Order Independent Transparency with Dual Depth Peeling
+//
+// Author: Louis Bavoil
+//
+// Copyright (c) NVIDIA Corporation. All rights reserved.
+//--------------------------------------------------------------------------------------
+
+uniform samplerRECT DepthBlenderTex;
+uniform samplerRECT FrontBlenderTex;
+uniform samplerRECT BackBlenderTex;
+
+void main(void)
+{
+ vec4 frontColor = textureRect(FrontBlenderTex, gl_FragCoord.xy);
+ vec3 backColor = textureRect(BackBlenderTex, gl_FragCoord.xy).rgb;
+ float alphaMultiplier = 1.0 - frontColor.w;
+
+ // front + back
+ gl_FragColor.rgb = frontColor + backColor * alphaMultiplier;
+
+ // front blender
+ //gl_FragColor.rgb = frontColor + vec3(alphaMultiplier);
+
+ // back blender
+ //gl_FragColor.rgb = backColor;
+}