9f013fee |
1 | puts "========" |
2 | puts "Test various Shading Models assigned per-object with transparency" |
3 | puts "========" |
4 | |
ba562b2b |
5 | # PBR doesn't work with Compatible Profile on macOS |
6 | if { $::tcl_platform(os) == "Darwin" } { vcaps -core } |
7 | |
9f013fee |
8 | # setup viewer |
9 | vclear |
10 | vclose ALL |
11 | vinit View1 -width 912 -height 912 |
12 | |
13 | # define spheres with a rough triangulation to easily distinguish Shading Models |
14 | psphere p0 10 |
15 | box b0 4 4 4 |
16 | copytranslate p11 p0 0 0 0 |
17 | copytranslate b11 b0 0 0 0 |
18 | copytranslate p12 p0 40 0 0 |
19 | copytranslate b12 b0 40 0 0 |
20 | copytranslate p21 p0 0 20 0 |
21 | copytranslate b21 b0 0 20 0 |
22 | copytranslate p22 p0 40 20 0 |
23 | copytranslate b22 b0 40 20 0 |
24 | copytranslate p31 p0 0 40 0 |
25 | copytranslate b31 b0 0 40 0 |
26 | copytranslate p32 p0 40 40 0 |
27 | copytranslate b32 b0 40 40 0 |
28 | compound p11 p12 p21 p22 p31 p32 b11 b12 b21 b22 b31 b32 ss |
29 | incmesh ss 1 |
30 | vdefaults -autoTriang 0 |
31 | |
32 | # display objects |
33 | vdisplay -dispMode 1 p11 p12 p21 p22 p31 p32 b11 b12 b21 b22 b31 b32 |
34 | vdrawparray p41 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 |
35 | vdrawparray p42 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 |
36 | vtop |
37 | vrotate -0.9 0.1 0 |
38 | vfit |
39 | |
40 | set aMatProps "-setMaterial DIAMOND -setColor GRAY70 -setTransparency 0.8" |
41 | |
42 | # customize shading models |
43 | vaspects b11 b12 b21 b22 b31 b32 -setShadingModel FRAGMENT -setColor RED |
44 | |
45 | vaspects p11 -setShadingModel VERTEX {*}$aMatProps |
46 | vdrawtext t11 Graphic3d_TOSM_VERTEX -pos 10 5 10 -color RED -aspect BOLD |
47 | vaspects p12 -setShadingModel FRAGMENT {*}$aMatProps |
48 | vdrawtext t12 Graphic3d_TOSM_FRAGMENT -pos 50 5 10 -color RED -aspect BOLD |
49 | |
50 | vaspects p21 -setShadingModel PBR {*}$aMatProps |
51 | vdrawtext t21 Graphic3d_TOSM_PBR -pos 10 25 10 -color RED -aspect BOLD |
52 | vaspects p22 -setShadingModel PBR_FACET {*}$aMatProps |
53 | vdrawtext t22 Graphic3d_TOSM_PBR_FACET -pos 50 25 10 -color RED -aspect BOLD |
54 | |
55 | vaspects p31 -setShadingModel UNLIT {*}$aMatProps |
56 | vdrawtext t31 Graphic3d_TOSM_UNLIT -pos 10 45 10 -color RED -aspect BOLD |
57 | vaspects p32 -setShadingModel FACET {*}$aMatProps |
58 | vdrawtext t32 Graphic3d_TOSM_FACET -pos 50 45 10 -color RED -aspect BOLD |
59 | vaspects p41 -setShadingModel VERTEX {*}$aMatProps |
60 | vdrawtext t41 Graphic3d_TOSM_VERTEX -pos 10 65 10 -color RED -aspect BOLD |
61 | vaspects p42 -setShadingModel FACET {*}$aMatProps |
62 | vdrawtext t42 Graphic3d_TOSM_FACET -pos 50 65 10 -color RED -aspect BOLD |
63 | vdisplay -topmost t11 t12 t21 t22 t31 t32 t41 t42 |
64 | |
65 | vlight -change 0 -intensity 1.0 |
66 | vlight -change 1 -intensity 0.5 |
67 | vrenderparams -shadingModel pbr |
68 | vdump $::imagedir/${::casename}.png |