6334ed1b211542db0e3ab8599edcc6945bf89559
[occt.git] / tests / v3d / glsl / shading_models
1 puts "========"
2 puts "Test various Shading Models assigned per-object"
3 puts "========"
4
5 # setup viewer
6 vclear
7 vclose ALL
8 vinit View1 -width 912 -height 912
9
10 # define spheres with a rough triangulation to easily distinguish Shading Models
11 psphere p1 10
12 copytranslate p2 p1 40  0 0
13 copytranslate p3 p1 20 20 0
14 copytranslate p4 p1  0 40 0
15 copytranslate p5 p1 40 40 0
16 compound p1 p2 p3 p4 p5 ss
17 incmesh ss 1
18 vdefaults -autoTriang 0
19
20 # display objects
21 vdisplay -dispMode 1 p1 p2 p3 p4 p5
22 vdrawparray p6 triangles v  0 55 0 v  0 75 0 v 20 55 0 v  0 55 0 v  0 75 0 v  0 55 20 v  0 55 0 v  0 55 20 v 20 55 0 v  0 75 0 v  0 55 20 v 20 55 0
23 vdrawparray p7 triangles v 40 55 0 v 40 75 0 v 60 55 0 v 40 55 0 v 40 75 0 v 40 55 20 v 40 55 0 v 40 55 20 v 60 55 0 v 40 75 0 v 40 55 20 v 60 55 0
24 vtop
25 vrotate -0.9 0.1 0
26 vfit
27
28 vcaps -ffp 1
29 vdump $::imagedir/${::casename}_defaults_ffp.png
30
31 vcaps -ffp 0
32 vdump $::imagedir/${::casename}_defaults.png
33
34 # customize shading models
35 vaspects  p1 -setShadingModel VERTEX
36 vdrawtext t1   Graphic3d_TOSM_VERTEX   -pos 10  5 10 -color RED -aspect BOLD
37 vaspects  p2 -setShadingModel FRAGMENT
38 vdrawtext t2   Graphic3d_TOSM_FRAGMENT -pos 50  5 10 -color RED -aspect BOLD
39 vaspects  p3 -setShadingModel DEFAULT
40 vdrawtext t3   Graphic3d_TOSM_DEFAULT  -pos 30 25 10 -color RED -aspect BOLD
41 vaspects  p4 -setShadingModel UNLIT
42 vdrawtext t4   Graphic3d_TOSM_UNLIT    -pos 10 45 10 -color RED -aspect BOLD
43 vaspects  p5 -setShadingModel FACET
44 vdrawtext t5   Graphic3d_TOSM_FACET    -pos 50 45 10 -color RED -aspect BOLD
45 vaspects  p6 -setShadingModel DEFAULT
46 vdrawtext t6   Graphic3d_TOSM_DEFAULT  -pos 10 65 10 -color RED -aspect BOLD
47 vaspects  p7 -setShadingModel FACET
48 vdrawtext t7   Graphic3d_TOSM_FACET    -pos 50 65 10 -color RED -aspect BOLD
49 vdisplay -topmost t1 t2 t3 t4 t5 t6 t7
50
51 vcaps -ffp 1
52 vdump $::imagedir/${::casename}_ffp.png
53
54 vcaps -ffp 0
55 vdump $::imagedir/${::casename}.png