992ed6b3 |
1 | puts "========" |
2 | puts "0029290: Visualization, TKOpenGl - allow defining Light source per ZLayer" |
3 | puts "========" |
4 | |
5 | pload MODELING VISUALIZATION |
6 | |
7 | vclear |
8 | vclose ALL |
9 | vinit View1 -width 1024 -height 768 |
10 | |
11 | vaxo |
12 | vcaps -ffp 0 |
13 | vrenderparams -shadingModel phong |
14 | vlight clear |
15 | |
16 | set THE_LIGHTS { |
17 | { -1 -1 -1 RED1 } |
18 | { 1 -1 -1 YELLOW } |
aaf8d6a9 |
19 | { -1 1 -1 BLUE } |
20 | { -1 -1 1 CYAN } |
992ed6b3 |
21 | { 1 1 -1 PURPLE } |
22 | { 1 1 1 WHITE } |
23 | { -1 1 1 HOTPINK } |
24 | { 1 -1 1 GREEN } |
aaf8d6a9 |
25 | { 0 -1 0 MAGENTA } |
992ed6b3 |
26 | { 0 1 0 MAGENTA3 } |
27 | } |
28 | |
29 | set aLayers [list [vzlayer -add -disable depthClear] [vzlayer -add -disable depthClear] [vzlayer -add -disable depthClear]] |
30 | for { set aLayIter 0 } { $aLayIter < 3 } { incr aLayIter } { |
31 | set aLayer [lindex $aLayers $aLayIter] |
32 | set aShiftX [expr $aLayIter * 4] |
33 | psphere s$aLayer 0.5 |
34 | vdisplay -dispMode 1 -layer $aLayer s$aLayer |
35 | vsetlocation s$aLayer $aShiftX 0 0 |
36 | for { set aLightIter 0 } { $aLightIter < 10 } { incr aLightIter } { |
37 | set aLight [lindex $THE_LIGHTS $aLightIter] |
38 | set aColor [lindex $aLight 3] |
39 | set aPos [list [expr $aShiftX + [lindex $aLight 0]] [lindex $aLight 1] [lindex $aLight 2]] |
40 | vlight -layer $aLayer -add positional -pos {*}$aPos -color $aColor -headLight 0 |
41 | vpoint v${aLayIter}_${aLightIter} {*}$aPos |
42 | vdrawtext t${aLayIter}_${aLightIter} "l${aLayIter}_${aLightIter} $aColor" -pos {*}$aPos -color $aColor |
43 | } |
44 | } |
45 | vfit |
46 | vdump $::imagedir/${::casename}.png |