summaryrefslogtreecommitdiff
path: root/progs/glsl/multitex.frag
diff options
context:
space:
mode:
Diffstat (limited to 'progs/glsl/multitex.frag')
-rw-r--r--progs/glsl/multitex.frag35
1 files changed, 35 insertions, 0 deletions
diff --git a/progs/glsl/multitex.frag b/progs/glsl/multitex.frag
new file mode 100644
index 0000000000..61ef95f3fe
--- /dev/null
+++ b/progs/glsl/multitex.frag
@@ -0,0 +1,35 @@
+// Multi-texture fragment shader
+// Brian Paul
+
+// Composite second texture over first.
+// We're assuming the 2nd texture has a meaningful alpha channel.
+
+uniform sampler2D tex1;
+uniform sampler2D tex2;
+
+vec4 sample(sampler2D t, vec2 coord)
+{
+ return texture2D(t, coord);
+}
+
+void main0()
+{
+ vec4 t1 = texture2D(tex1, gl_TexCoord[0].xy);
+ //vec4 t1 = sample(tex1, gl_TexCoord[0].xy);
+ //vec4 t2 = texture2D(tex2, gl_TexCoord[1].xy);
+ vec4 t2 = sample(tex2, gl_TexCoord[0].xy);
+ gl_FragColor = mix(t1, t2, t2.w);
+}
+
+void main()
+{
+ vec4 t1 = sample(tex1, gl_TexCoord[0].xy);
+ vec4 t2 = sample(tex2, gl_TexCoord[0].xy);
+ gl_FragColor = t1 + t2;
+}
+/*
+ 0: MOV SAMPLER[0].x, SAMPLER[0];
+ 1: MOV TEMP[1], INPUT[4];
+ 2: TEX OUTPUT[0], TEMP[1], texture[0], 2D;
+ 3: END
+*/