summaryrefslogtreecommitdiffstats
path: root/src/demos/dualDepthPeeling/shaders/wsum_final_fragment.glsl
diff options
context:
space:
mode:
authorSven Gothel <sgothel at jausoft dot com>2012-02-15 17:58:41 -0800
committerSven Gothel <sgothel at jausoft dot com>2012-02-15 17:58:41 -0800
commitabe9a0f08f45513017f272d61572421b93e3231a (patch)
tree2c432606acecae867daa509ce08546e7bfc4b111 /src/demos/dualDepthPeeling/shaders/wsum_final_fragment.glsl
parent0bd5256af8fd791063e08cdd55a365ab4610e21c (diff)
parent9fa9793d462189d946d742f2f95cd1294297119f (diff)
Merge pull request #2 from abokinsky/master
Dual Depth Peeling Dragon Demo
Diffstat (limited to 'src/demos/dualDepthPeeling/shaders/wsum_final_fragment.glsl')
-rw-r--r--src/demos/dualDepthPeeling/shaders/wsum_final_fragment.glsl18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/demos/dualDepthPeeling/shaders/wsum_final_fragment.glsl b/src/demos/dualDepthPeeling/shaders/wsum_final_fragment.glsl
new file mode 100644
index 0000000..76c0293
--- /dev/null
+++ b/src/demos/dualDepthPeeling/shaders/wsum_final_fragment.glsl
@@ -0,0 +1,18 @@
+//--------------------------------------------------------------------------------------
+// Order Independent Transparency with Weighted Sums
+//
+// Author: Louis Bavoil
+//
+// Copyright (c) NVIDIA Corporation. All rights reserved.
+//--------------------------------------------------------------------------------------
+
+uniform samplerRECT ColorTex;
+uniform vec3 BackgroundColor;
+
+// Sum(A_i * C_i) + C_bg * (1 - Sum(A_i))
+void main(void)
+{
+ vec4 S = textureRect(ColorTex, gl_FragCoord.xy);
+ gl_FragColor.rgb = S.rgb + BackgroundColor * (1.0 - S.a);
+}