cell: implement NRM3 opcode
[mesa.git] / progs / glsl / multitex.frag
1 // Multi-texture fragment shader
2 // Brian Paul
3
4 // Composite second texture over first.
5 // We're assuming the 2nd texture has a meaningful alpha channel.
6
7 uniform sampler2D tex1;
8 uniform sampler2D tex2;
9
10 vec4 sample(sampler2D t, vec2 coord)
11 {
12 return texture2D(t, coord);
13 }
14
15 void main0()
16 {
17 vec4 t1 = texture2D(tex1, gl_TexCoord[0].xy);
18 //vec4 t1 = sample(tex1, gl_TexCoord[0].xy);
19 //vec4 t2 = texture2D(tex2, gl_TexCoord[1].xy);
20 vec4 t2 = sample(tex2, gl_TexCoord[0].xy);
21 gl_FragColor = mix(t1, t2, t2.w);
22 }
23
24 void main()
25 {
26 vec4 t1 = sample(tex1, gl_TexCoord[0].xy);
27 vec4 t2 = sample(tex2, gl_TexCoord[0].xy);
28 gl_FragColor = t1 + t2;
29 }
30 /*
31 0: MOV SAMPLER[0].x, SAMPLER[0];
32 1: MOV TEMP[1], INPUT[4];
33 2: TEX OUTPUT[0], TEMP[1], texture[0], 2D;
34 3: END
35 */