88b312d3 |
1 | puts "========" |
2 | puts "0031099: Visualization, TKOpenGl - support Point light source with artistic full cut-off distance" |
3 | puts "Test of point light's (positional and spot) attenuation and range in PBR" |
4 | puts "========" |
5 | |
6 | pload XDE OCAF VISUALIZATION MODELING |
7 | catch { Close D } |
8 | |
9 | vclear |
10 | vclose ALL |
11 | vinit View1 -w 512 -h 512 |
12 | |
13 | vtop |
14 | vrenderparams -shadingmodel pbr |
15 | |
16 | box b -2 -2 -0.00001 4 4 0.00001 |
17 | XNewDoc D |
18 | set bs [XAddShape D b 0] |
19 | XAddVisMaterial D m -baseColor WHITE -transparency 0.0 -metallic 0.0 -roughness 1.0 |
20 | XSetVisMaterial D $bs m |
21 | XDisplay -dispMode 1 D |
22 | vfit |
23 | |
24 | vlight -clear |
25 | vlight -add positional -pos -1 0 1 -intensity 0.5 |
26 | vlight -add spot -pos 1 0 1 -dir 0 0 -1 -intensity 0.5 -angle 100 |
27 | |
28 | vdump $::imagedir/${::casename}_norange_high.png |
29 | |
30 | vlight -change 0 -pos -1 0 0.5 |
31 | vlight -change 1 -pos 1 0 0.5 |
32 | |
33 | vdump $::imagedir/${::casename}_norange_low.png |
34 | |
35 | vlight -change 0 -range 1 |
36 | vlight -change 1 -range 1 |
37 | |
38 | vdump $::imagedir/${::casename}_range1.png |
39 | |
40 | vlight -change 0 -range 0.5 |
41 | vlight -change 1 -range 0.5 |
42 | |
43 | vdump $::imagedir/${::casename}_range0_5.png |
44 | |
45 | vlight -change 0 -range 0.6 |
46 | vlight -change 1 -range 0.6 |
47 | |
48 | vdump $::imagedir/${::casename}_range0_6.png |
49 | |
50 | vlight -change 0 -range 10 |
51 | vlight -change 1 -range 10 |
52 | |
53 | vdump $::imagedir/${::casename}_range10.png |
54 | |
55 | box b -5.0 -5.0 -0.00001 10 10 0.00001 |
56 | XNewDoc D |
57 | set bs [XAddShape D b 0] |
58 | XAddVisMaterial D m -baseColor WHITE -transparency 0.0 -metallic 0.0 -roughness 1.0 |
59 | XSetVisMaterial D $bs m |
60 | XDisplay -dispMode 1 D |
61 | vfit |
62 | vlight -clear |
63 | for {set i 0} {$i < 5} {incr i} { |
64 | for {set j 0} {$j < 5} {incr j} { |
65 | vlight -add spot -pos [expr -4.0+2.0*$i] [expr -4.0+2.0*$j] 0.5 -dir 0 0 -1 -intensity 0.5 -angle 100 -exp [expr ($i*5+$j) / 24.0] |
66 | } |
67 | } |
68 | |
69 | vdump $::imagedir/${::casename}_angle_attenuation.png |