aboutsummaryrefslogtreecommitdiff
path: root/client/shaders/3d_interlaced_merge/opengl_fragment.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'client/shaders/3d_interlaced_merge/opengl_fragment.glsl')
-rw-r--r--client/shaders/3d_interlaced_merge/opengl_fragment.glsl21
1 files changed, 21 insertions, 0 deletions
diff --git a/client/shaders/3d_interlaced_merge/opengl_fragment.glsl b/client/shaders/3d_interlaced_merge/opengl_fragment.glsl
new file mode 100644
index 000000000..25945ad7f
--- /dev/null
+++ b/client/shaders/3d_interlaced_merge/opengl_fragment.glsl
@@ -0,0 +1,21 @@
+uniform sampler2D baseTexture;
+uniform sampler2D normalTexture;
+uniform sampler2D textureFlags;
+
+#define leftImage baseTexture
+#define rightImage normalTexture
+#define maskImage textureFlags
+
+void main(void)
+{
+ vec2 uv = gl_TexCoord[0].st;
+ vec4 left = texture2D(leftImage, uv).rgba;
+ vec4 right = texture2D(rightImage, uv).rgba;
+ vec4 mask = texture2D(maskImage, uv).rgba;
+ vec4 color;
+ if (mask.r > 0.5)
+ color = right;
+ else
+ color = left;
+ gl_FragColor = color;
+}