diff options
Diffstat (limited to 'progs/glsl/multitex.frag')
-rw-r--r-- | progs/glsl/multitex.frag | 35 |
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 +*/ |