d8d34245 |
1 | # Script demonstrating Global illumination effects using non-interactive |
2 | # path tracing rendering engine in 3d view |
8c820969 |
3 | |
d8d34245 |
4 | #Category: Visualization |
6e728f3b |
5 | #Title: Path tracing - Cube |
d8d34245 |
6 | |
7 | pload MODELING VISUALIZATION |
ba562b2b |
8 | # Ray-Tracing doesn't work with Compatible Profile on macOS |
9 | if { $::tcl_platform(os) == "Darwin" } { vcaps -core } |
8c820969 |
10 | |
11 | # setup 3D viewer content |
6e728f3b |
12 | vclear |
8c820969 |
13 | vinit name=View1 w=512 h=512 |
14 | vglinfo |
15 | |
d8d34245 |
16 | # setup light sources |
89d855ba |
17 | vlight -clear |
06d40093 |
18 | vlight -add POSITIONAL -headLight 0 -pos 0.5 0.5 0.85 -smoothRadius 0.06 -intensity 30.0 -name pntlight |
d8d34245 |
19 | |
8c820969 |
20 | vvbo 0 |
21 | vsetdispmode 1 |
22 | vcamera -persp |
23 | |
d8d34245 |
24 | # setup outer box |
8c820969 |
25 | box b 1 1 1 |
26 | explode b FACE |
6e728f3b |
27 | vdisplay -noupdate b_1 b_2 b_3 b_5 b_6 |
28 | vlocation -noupdate b_1 -setLocation 1 0 0 |
29 | vlocation -noupdate b_2 -setLocation -1 0 0 |
30 | vlocation -noupdate b_3 -setLocation 0 1 0 |
31 | vlocation -noupdate b_5 -setLocation 0 0 1 |
32 | vlocation -noupdate b_6 -setLocation 0 0 -1 |
8c820969 |
33 | |
6e728f3b |
34 | vsetmaterial -noupdate b_1 plastic |
35 | vsetmaterial -noupdate b_2 plastic |
36 | vsetmaterial -noupdate b_3 plastic |
37 | vsetmaterial -noupdate b_5 plastic |
38 | vsetmaterial -noupdate b_6 plastic |
d8d34245 |
39 | vbsdf b_1 -kd 1 0.3 0.3 -ks 0 |
40 | vbsdf b_2 -kd 0.3 0.5 1 -ks 0 |
8c820969 |
41 | vbsdf b_3 -kd 1 -ks 0 |
42 | vbsdf b_5 -kd 1 -ks 0 |
43 | vbsdf b_6 -kd 1 -ks 0 |
44 | |
d8d34245 |
45 | vfront |
46 | vfit |
8c820969 |
47 | |
d8d34245 |
48 | # setup first inner sphere |
8c820969 |
49 | psphere s 0.2 |
6e728f3b |
50 | vdisplay -noupdate s |
51 | vlocation -noupdate s -setLocation 0.21 0.3 0.2 |
52 | vsetmaterial -noupdate s glass |
05aa616d |
53 | vbsdf s -absorpColor 0.8 0.8 1.0 |
54 | vbsdf s -absorpCoeff 6 |
8c820969 |
55 | |
d8d34245 |
56 | # setup first inner box |
8c820969 |
57 | box c 0.3 0.3 0.2 |
6e728f3b |
58 | vdisplay -noupdate c |
dbc8becf |
59 | vlocation -noupdate c -reset -rotate 0 0 0 0 0 1 -30 -translate 0.55 0.3 0.0 |
6e728f3b |
60 | vsetmaterial -noupdate c plastic |
8c820969 |
61 | vbsdf c -kd 1.0 0.8 0.2 -ks 0.3 -n |
62 | |
d8d34245 |
63 | # setup second inner box |
8c820969 |
64 | box g 0.15 0.15 0.3 |
6e728f3b |
65 | vdisplay -noupdate g |
dbc8becf |
66 | vlocation -noupdate g -reset -rotate 0 0 0 0 0 1 10 -translate 0.7 0.25 0.2 |
6e728f3b |
67 | vsetmaterial -noupdate g glass |
05aa616d |
68 | vbsdf g -absorpColor 0.8 1.0 0.8 |
69 | vbsdf g -absorpCoeff 6 |
8c820969 |
70 | |
d8d34245 |
71 | # setup second inner sphere |
8c820969 |
72 | psphere r 0.1 |
6e728f3b |
73 | vdisplay -noupdate r |
74 | vsetmaterial -noupdate r plastic |
05aa616d |
75 | vbsdf r -kd 0.5 0.9 0.3 -ks 0.3 -baseRoughness 0.0 -n |
76 | vbsdf r -baseFresnel Constant 1.0 |
6e728f3b |
77 | vlocation r -setLocation 0.5 0.65 0.1 |
8c820969 |
78 | |
d8d34245 |
79 | puts "Trying path tracing mode..." |
8c820969 |
80 | vrenderparams -ray -gi -rayDepth 8 |
d8d34245 |
81 | |
82 | puts "Make several path tracing iterations to refine the picture, please wait..." |
83 | vfps 100 |
84 | puts "Done. To improve the image further, or after view manipulations, give command:" |
9196ea9d |
85 | puts "vfps \[nb_iteratons\] or vrepaint -continuous" |