12 |
|
my $octree = "$td/bv$$.oct"; |
13 |
|
my $ambf = "$td/af$$.amb"; |
14 |
|
my $raddev = "x11"; # default output device. Overwrite with -o |
15 |
< |
my $qual = "Low"; |
15 |
> |
my $qual = "Med"; |
16 |
|
my $usetrad = 0; |
17 |
|
|
18 |
< |
my $opts = ""; # Options common to rad |
18 |
> |
my @range; # BSDF min and max range |
19 |
> |
my $opts = ""; # Options common to rad |
20 |
|
my $rendopts = "-w-"; # For render= line in rif file |
21 |
|
|
22 |
|
while (@ARGV) { |
41 |
|
$opts .= " $_"; |
42 |
|
} elsif (m/^-t\b/) { # start trad instead of rad |
43 |
|
$usetrad = 1; |
44 |
+ |
} elsif (m/^-r/) { # specified range for BSDF |
45 |
+ |
@range = ("-r", $ARGV[1], $ARGV[2]); |
46 |
+ |
shift @ARGV; shift @ARGV; |
47 |
|
} elsif (m/^-\w/) { |
48 |
|
die("bsdfview: Bad option: $_\n"); |
49 |
|
} else { |
93 |
|
|
94 |
|
print "bsdfview: creating rad input file '$rif'\n"; |
95 |
|
|
96 |
< |
my $scene = qq("!bsdf2rad @objects"); # let bsdf2rad do complaining |
96 |
> |
my $scene = qq("!bsdf2rad @range @objects"); # let bsdf2rad do complaining |
97 |
|
|
98 |
|
my $objects = join(' ', @objects); |
99 |
|
open(FH, ">$rif") or |
109 |
|
OCTREE= $octree |
110 |
|
oconv= -w -f |
111 |
|
AMBF= $ambf |
112 |
< |
QUAL = $qual |
112 |
> |
QUAL= $qual |
113 |
|
render= $rendopts |
114 |
|
view= def -vp 0 -50 50 -vd 0 50 -50 -vh 45 -vv 30 |
115 |
|
view= fr -vp 15 -30 30 -vd 0 30 -30 |
122 |
|
close(FH); |
123 |
|
|
124 |
|
if ($usetrad) { |
125 |
< |
system "trad $rif"; |
125 |
> |
system "rad -v 0 $rif ; trad $rif"; |
126 |
|
} else { |
127 |
|
system "rad -o $raddev $opts $rif"; |
128 |
|
} |