summaryrefslogtreecommitdiff
path: root/progs/glsl/multitex.frag
blob: 61ef95f3fee44ab97b2774306c145bcaf8b5d634 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
*/