0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with...
[occt.git] / tests / v3d / glsl / texture_multi1
1 puts "========"
2 puts "0028912: Visualization, TKOpenGl - multi-texture support"
3 puts "========"
4
5 pload MODELING VISUALIZATION
6
7 set aShaderVert "
8 THE_SHADER_OUT vec2 TexCoord;
9 void main() {
10   TexCoord    = occTexCoord.st;
11   gl_Position = occProjectionMatrix * occWorldViewMatrix * occModelWorldMatrix * occVertex;
12 }"
13
14 set aShaderFrag "
15 uniform sampler2D occSampler1;
16 uniform sampler2D occSampler2;
17 uniform sampler2D occSampler3;
18 THE_SHADER_IN vec2 TexCoord;
19 void main() {
20   if      (TexCoord.s <  0.5 && TexCoord.t <  0.5) { occFragColor = occTexture2D(occSampler0, TexCoord.st); }
21   else if (TexCoord.s <  0.5 && TexCoord.t >= 0.5) { occFragColor = occTexture2D(occSampler1, TexCoord.st); }
22   else if (TexCoord.s >= 0.5 && TexCoord.t <  0.5) { occFragColor = occTexture2D(occSampler2, TexCoord.st); }
23   else                                             { occFragColor = occTexture2D(occSampler3, TexCoord.st); }
24 }"
25
26 # draw a box
27 box b 1 2 3
28 vclear
29 vclose ALL
30 vinit View1
31 vaxo
32 vdisplay -dispMode 1 b
33 vfit
34 vrotate 0.2 0.0 0.0
35
36 # take snapshot with built-in shader
37 vtexture b -tex0 3 -tex1 4 -tex2 5 -tex3 6
38 vdump $::imagedir/${::casename}_normal.png
39
40 #vshaderprog b $aShaderVert $aShaderFrag
41 vshaderprog b -vert $aShaderVert -frag $aShaderFrag
42 vdump $::imagedir/${::casename}_multi.png