2 |
|
# RCSid: $Id$ |
3 |
|
# |
4 |
|
# Make a nice multi-view picture of an object |
5 |
< |
# Standard input is description made to fit in unit cube in positive quadrant |
5 |
> |
# Command line arguments contain materials and object files |
6 |
|
# |
7 |
|
set objdir=/usr/local/lib/ray/lib |
8 |
|
set tmpdir=/usr/tmp |
9 |
|
set xres=250 |
10 |
|
set yres=250 |
11 |
< |
set rpict="rpict -av .2 .2 .2 -x $xres -y $yres $*" |
11 |
> |
set rpict="rpict -av .2 .2 .2 -x $xres -y $yres" |
12 |
> |
set inprad=$tmpdir/op$$.rad |
13 |
|
set octree=$tmpdir/op$$.oct |
14 |
|
set pict1=$tmpdir/op$$a.pic |
15 |
|
set pict2=$tmpdir/op$$b.pic |
16 |
|
set pict3=$tmpdir/op$$c.pic |
17 |
|
set pict4=$tmpdir/op$$d.pic |
18 |
< |
set tmpfiles="$octree $pict1 $pict2 $pict3 $pict4" |
18 |
> |
set tmpfiles="$inprad $octree $pict1 $pict2 $pict3 $pict4" |
19 |
|
onintr quit |
20 |
+ |
if ( $#argv ) then |
21 |
+ |
cat $* > $inprad |
22 |
+ |
else |
23 |
+ |
cat > $inprad |
24 |
+ |
endif |
25 |
+ |
set dims=`getbbox -h $inprad` |
26 |
+ |
set siz=`rcalc -n -e 'max(a,b):if(a-b,a,b);$1='"max($dims[2]-$dims[1],max($dims[4]-$dims[3],$dims[6]-$dims[5]))"` |
27 |
|
set vw1="-vtl -vp 2 .5 .5 -vd -1 0 0 -vh 1 -vv 1" |
28 |
|
set vw2="-vtl -vp .5 2 .5 -vd 0 -1 0 -vh 1 -vv 1" |
29 |
|
set vw3="-vtl -vp .5 .5 2 -vd 0 0 -1 -vu -1 0 0 -vh 1 -vv 1" |
30 |
|
set vw4="-vp 3 3 3 -vd -1 -1 -1 -vh 20 -vv 20" |
31 |
|
|
32 |
< |
oconv $objdir/testroom - > $octree |
32 |
> |
xform -t `ev "-($dims[1]+$dims[2])/2" "-($dims[3]+$dims[4])/2" "-($dims[5]+$dims[6])/2"` \ |
33 |
> |
-s `ev 1/$siz` -t .5 .5 .5 $inprad \ |
34 |
> |
| oconv $objdir/testroom - > $octree |
35 |
|
$rpict $vw1 $octree > $pict1 |
36 |
|
$rpict $vw2 $octree > $pict2 |
37 |
|
$rpict $vw3 $octree > $pict3 |