ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/genBSDF.pl
(Generate patch)

Comparing ray/src/util/genBSDF.pl (file contents):
Revision 2.53 by greg, Wed Mar 25 19:18:28 2015 UTC vs.
Revision 2.55 by greg, Fri Mar 27 18:58:06 2015 UTC

# Line 104 | Line 104 | while ($#ARGV >= 0) {
104          } elsif ("$ARGV[0]" eq "-t") {
105                  # Use value < 0 for rttree_reduce bypass
106                  $pctcull = $ARGV[1];
107 +                if ($pctcull >= 100) {
108 +                        die "Illegal -t culling percentage, must be < 100\n";
109 +                }
110                  shift @ARGV;
111          } elsif ("$ARGV[0]" =~ /^-t[34]$/) {
112                  $tensortree = substr($ARGV[0], 2, 1);
113                  $ttlog2 = $ARGV[1];
114                  shift @ARGV;
115 <        } elsif ("$ARGV[0]" eq "-f") {
115 >        } elsif ("$ARGV[0]" eq "-s") {
116                  $wrapper .= " -f \"$ARGV[1]\"";
117                  shift @ARGV;
118          } elsif ("$ARGV[0]" eq "-W") {
# Line 176 | Line 179 | my $ny = int($nsamp/$nx + 1);
179   $nsamp = $nx * $ny;
180   my $ns = 2**$ttlog2;
181   open(RADSCN, "> $receivers");
182 < print RADSCN '#@rfluxmtx ' . ($tensortree ? "h=sc$ns\n" : "h=kf\n");
182 > print RADSCN '#@rfluxmtx ' . ($tensortree ? "h=+sc$ns\n" : "h=+kf\n");
183   print RADSCN '#@rfluxmtx ' . "u=Y o=$facedat\n\n";
184   print RADSCN "void glow receiver_face\n0\n0\n4 1 1 1 0\n\n";
185   print RADSCN "receiver_face source f_receiver\n0\n0\n4 0 0 1 180\n\n";
186 + print RADSCN '#@rfluxmtx ' . ($tensortree ? "h=-sc$ns\n" : "h=-kf\n");
187   print RADSCN '#@rfluxmtx ' . "u=Y o=$behinddat\n\n";
188   print RADSCN "void glow receiver_behind\n0\n0\n4 1 1 1 0\n\n";
189   print RADSCN "receiver_behind source b_receiver\n0\n0\n4 0 0 -1 180\n";
# Line 188 | Line 192 | close RADSCN;
192   $rfluxmtx .= " -n $nproc -c $nsamp";
193   if ( $tensortree != 3 ) {       # Isotropic tensor tree is exception
194          open (RADSCN, "> $fsender");
195 <        print RADSCN '#@rfluxmtx u=Y ' . ($tensortree ? "h=sc$ns\n\n" : "h=kf\n\n");
195 >        print RADSCN '#@rfluxmtx u=Y ' . ($tensortree ? "h=+sc$ns\n\n" : "h=+kf\n\n");
196          print RADSCN "void polygon fwd_sender\n0\n0\n12\n";
197          printf RADSCN "\t%f\t%f\t%f\n", $dim[0], $dim[2], $dim[4];
198          printf RADSCN "\t%f\t%f\t%f\n", $dim[0], $dim[3], $dim[4];
# Line 196 | Line 200 | if ( $tensortree != 3 ) {      # Isotropic tensor tree is e
200          printf RADSCN "\t%f\t%f\t%f\n", $dim[1], $dim[2], $dim[4];
201          close RADSCN;
202          open (RADSCN, "> $bsender");
203 <        print RADSCN '#@rfluxmtx u=Y ' . ($tensortree ? "h=sc$ns\n\n" : "h=kf\n\n");
204 <        print RADSCN "void polygon fwd_sender\n0\n0\n12\n";
203 >        print RADSCN '#@rfluxmtx u=Y ' . ($tensortree ? "h=-sc$ns\n\n" : "h=-kf\n\n");
204 >        print RADSCN "void polygon bwd_sender\n0\n0\n12\n";
205          printf RADSCN "\t%f\t%f\t%f\n", $dim[0], $dim[2], $dim[5];
206          printf RADSCN "\t%f\t%f\t%f\n", $dim[1], $dim[2], $dim[5];
207          printf RADSCN "\t%f\t%f\t%f\n", $dim[1], $dim[3], $dim[5];
# Line 328 | Line 332 | sub ttree_comp {
332                                  qq{-e "$CIEuv" } .
333                                  q{-e "$1=Yi/Omega"};
334                  } elsif ("$spec" eq "CIE-u") {
335 <                        $cmd = qq{rcalc -e "Omega:PI/($ns*$ns)" } .
332 <                                q{-e "Ri=$1;Gi=$2;Bi=$3" } .
335 >                        $cmd = q{rcalc -e "Ri=$1;Gi=$2;Bi=$3" } .
336                                  qq{-e "$CIEuv" } .
337 <                                q{-e "$1=uprime/Omega"};
337 >                                q{-e "$1=uprime"};
338                  } elsif ("$spec" eq "CIE-v") {
339 <                        $cmd = qq{rcalc -e "Omega:PI/($ns*$ns)" } .
337 <                                q{-e "Ri=$1;Gi=$2;Bi=$3" } .
339 >                        $cmd = q{rcalc -e "Ri=$1;Gi=$2;Bi=$3" } .
340                                  qq{-e "$CIEuv" } .
341 <                                q{-e "$1=vprime/Omega"};
341 >                                q{-e "$1=vprime"};
342                  }
343          } else {
344                  if ("$spec" eq "Visible") {
# Line 345 | Line 347 | sub ttree_comp {
347                                  "-e '$CIEuv' " .
348                                  q{-e '$1=Yi/Omega'};
349                  } elsif ("$spec" eq "CIE-u") {
350 <                        $cmd = "rcalc -if3 -e 'Omega:PI/($ns*$ns)' " .
349 <                                q{-e 'Ri=$1;Gi=$2;Bi=$3' } .
350 >                        $cmd = q{rcalc -if3 -e 'Ri=$1;Gi=$2;Bi=$3' } .
351                                  "-e '$CIEuv' " .
352 <                                q{-e '$1=uprime/Omega'};
352 >                                q{-e '$1=uprime'};
353                  } elsif ("$spec" eq "CIE-v") {
354 <                        $cmd = "rcalc -if3 -e 'Omega:PI/($ns*$ns)' " .
354 <                                q{-e 'Ri=$1;Gi=$2;Bi=$3' } .
354 >                        $cmd = q{rcalc -if3 -e 'Ri=$1;Gi=$2;Bi=$3' } .
355                                  "-e '$CIEuv' " .
356 <                                q{-e '$1=vprime/Omega'};
356 >                                q{-e '$1=vprime'};
357                  }
358          }
359          if ($pctcull >= 0) {
360                  my $avg = ( "$typ" =~ /^r[fb]/ ) ? " -a" : "";
361                  my $pcull = ("$spec" eq "Visible") ? $pctcull :
362 <                                                     (100 - (100-$pctcull)/3) ;
362 >                                                     (100 - (100-$pctcull)*.25) ;
363                  if ($windoz) {
364                          $cmd = "rcollate -ho -oc 1 $src | " .
365                                          $cmd .
# Line 454 | Line 454 | sub matrix_comp {
454          my $dest = shift;
455          my $cmd = "rmtxop -fa -t";
456          if ("$spec" eq "Visible") {
457 <                $cmd .= " -c 0.265 0.670 0.065";
457 >                $cmd .= " -c 0.2651 0.6701 0.0648";
458          } elsif ("$spec" eq "CIE-X") {
459 <                $cmd .= " -c 0.514 0.324 0.162";
459 >                $cmd .= " -c 0.5141 0.3239 0.1620";
460          } elsif ("$spec" eq "CIE-Z") {
461 <                $cmd .= " -c 0.024 0.123 0.853";
461 >                $cmd .= " -c 0.0241 0.1229 0.8530";
462          }
463          $cmd .= " $src | rcollate -ho -oc 145";
464          # print STDERR "Running: $cmd\n";

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines