File: texture_multi1

package info (click to toggle)
opencascade 7.8.1%2Bdfsg1-7
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 293,924 kB
  • sloc: cpp: 1,249,635; tcl: 15,974; cs: 5,173; java: 1,554; sh: 1,354; ansic: 821; xml: 737; makefile: 30; javascript: 22
file content (42 lines) | stat: -rw-r--r-- 1,283 bytes parent folder | download | duplicates (6)
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
36
37
38
39
40
41
42
puts "========"
puts "0028912: Visualization, TKOpenGl - multi-texture support"
puts "========"

pload MODELING VISUALIZATION

set aShaderVert "
THE_SHADER_OUT vec2 TexCoord;
void main() {
  TexCoord    = occTexCoord.st;
  gl_Position = occProjectionMatrix * occWorldViewMatrix * occModelWorldMatrix * occVertex;
}"

set aShaderFrag "
uniform sampler2D occSampler1;
uniform sampler2D occSampler2;
uniform sampler2D occSampler3;
THE_SHADER_IN vec2 TexCoord;
void main() {
  if      (TexCoord.s <  0.5 && TexCoord.t <  0.5) { occFragColor = occTexture2D(occSampler0, TexCoord.st); }
  else if (TexCoord.s <  0.5 && TexCoord.t >= 0.5) { occFragColor = occTexture2D(occSampler1, TexCoord.st); }
  else if (TexCoord.s >= 0.5 && TexCoord.t <  0.5) { occFragColor = occTexture2D(occSampler2, TexCoord.st); }
  else                                             { occFragColor = occTexture2D(occSampler3, TexCoord.st); }
}"

# draw a box
box b 1 2 3
vclear
vclose ALL
vinit View1
vaxo
vdisplay -dispMode 1 b
vfit
vrotate 0.2 0.0 0.0

# take snapshot with built-in shader
vtexture b -tex0 3 -tex1 4 -tex2 5 -tex3 6
vdump $::imagedir/${::casename}_normal.png

#vshaderprog b $aShaderVert $aShaderFrag
vshaderprog b -vert $aShaderVert -frag $aShaderFrag
vdump $::imagedir/${::casename}_multi.png