cc8cbabe |
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 |
8e0a2b19 |
29 | vclose ALL |
cc8cbabe |
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 | |
8e0a2b19 |
40 | #vshaderprog b $aShaderVert $aShaderFrag |
41 | vshaderprog b -vert $aShaderVert -frag $aShaderFrag |
cc8cbabe |
42 | vdump $::imagedir/${::casename}_multi.png |