| 163 |  | ($tensortree==3 && !($doforw && $doback)); | 
| 164 |  | # Get scene description | 
| 165 |  | if ( $mgfin ) { | 
| 166 | < | system "mgf2rad @ARGV > $radscn"; | 
| 166 | > | system "mgf2rad -s @ARGV > $radscn"; | 
| 167 |  | die "Could not load MGF input\n" if ( $? ); | 
| 168 |  | } else { | 
| 169 |  | system "xform -e @ARGV > $radscn"; | 
| 184 |  | ';h=' . ($dim[3] - $dim[2]) . '"'; | 
| 185 |  | $wrapper .= " -g $mgfscn" if ( $geout ); | 
| 186 |  | # Calculate CIE (u',v') from Radiance RGB: | 
| 187 | < | my $CIEuv =     'Xi=.5141*Ri+.3239*Gi+.1620*Bi;' . | 
| 188 | < | 'Yi=.2651*Ri+.6701*Gi+.0648*Bi;' . | 
| 189 | < | 'Zi=.0241*Ri+.1229*Gi+.8530*Bi;' . | 
| 190 | < | 'den=Xi+15*Yi+3*Zi;' . | 
| 187 | > | my $CIEuv =     'den=Xi+15*Yi+3*Zi;' . | 
| 188 |  | 'uprime=if(Yi,4*Xi/den,4/19);' . | 
| 189 |  | 'vprime=if(Yi,9*Yi/den,9/19);' ; | 
| 190 |  | my $FEPS = 1e-5; | 
| 192 |  | my $nx = int(sqrt($nsamp*($dim[1]-$dim[0])/($dim[3]-$dim[2])) + 1); | 
| 193 |  | my $ny = int($nsamp/$nx + 1); | 
| 194 |  | $nsamp = $nx * $ny; | 
| 195 | < | $rfluxmtx .= " -n $nproc -c $nsamp -cs 3"; | 
| 195 | > | $rfluxmtx .= " -n $nproc -c $nsamp"; | 
| 196 |  | if ( !defined $recovery ) { | 
| 197 |  | open(MYAVH, "> $td/savedARGV.txt"); | 
| 198 |  | foreach (@savedARGV) { | 
| 345 |  | qq{-e 'zp=$dim[5-$forw]' -e 'myDz=Dz*($forw*2-1)' } . | 
| 346 |  | qq{-e '\$1=xp-Dx;\$2=yp-Dy;\$3=zp-myDz' } . | 
| 347 |  | qq{-e '\$4=Dx;\$5=Dy;\$6=myDz' -of } . | 
| 348 | < | "| $rfluxmtx$r -h -ff -y $ns2 - $receivers -i $octree"; | 
| 348 | > | "| $rfluxmtx$r -ff -y $ns2 - $receivers -i $octree"; | 
| 349 |  | } | 
| 350 |  | } else { | 
| 351 |  | # Anisotropic BSDF | 
| 353 |  | if ($windoz) { | 
| 354 |  | $cmd = "$rfluxmtx$r -fa $sender $receivers -i $octree"; | 
| 355 |  | } else { | 
| 356 | < | $cmd = "$rfluxmtx$r -h -ff $sender $receivers -i $octree"; | 
| 356 | > | $cmd = "$rfluxmtx$r -ff $sender $receivers -i $octree"; | 
| 357 |  | } | 
| 358 |  | } | 
| 359 |  | if ( $dop ) { | 
| 401 |  | my $dest = shift; | 
| 402 |  | my $cmd; | 
| 403 |  | if ($windoz) { | 
| 404 | + | $cmd = "rcomb -fa -c xyz $src | rcollate -ho -oc 1" . | 
| 405 | + | q{ | rcalc -e "Xi=$1;Yi=$2;Zi=$3" }; | 
| 406 |  | if ("$spec" eq "Visible") { | 
| 407 | < | $cmd = qq{rcalc -e "Omega:PI/($ns*$ns)" } . | 
| 409 | < | q{-e "Ri=$1;Gi=$2;Bi=$3" } . | 
| 410 | < | qq{-e "$CIEuv" } . | 
| 407 | > | $cmd .= qq{-e "Omega:PI/($ns*$ns)" } . | 
| 408 |  | q{-e "$1=Yi/Omega"}; | 
| 409 |  | } elsif ("$spec" eq "CIE-u") { | 
| 410 | < | $cmd = q{rcalc -e "Ri=$1;Gi=$2;Bi=$3" } . | 
| 414 | < | qq{-e "$CIEuv" } . | 
| 410 | > | $cmd .= qq{-e "$CIEuv" } . | 
| 411 |  | q{-e "$1=uprime"}; | 
| 412 |  | } elsif ("$spec" eq "CIE-v") { | 
| 413 | < | $cmd = q{rcalc -e "Ri=$1;Gi=$2;Bi=$3" } . | 
| 418 | < | qq{-e "$CIEuv" } . | 
| 413 | > | $cmd .= qq{-e "$CIEuv" } . | 
| 414 |  | q{-e "$1=vprime"}; | 
| 415 |  | } | 
| 416 |  | } else { | 
| 417 | + | $cmd = "rcomb -ff -c xyz $src | getinfo -" . | 
| 418 | + | q{ | rcalc -if3 -of -e 'Xi=$1;Yi=$2;Zi=$3' }; | 
| 419 |  | if ("$spec" eq "Visible") { | 
| 420 | < | $cmd = "rcalc -if3 -e 'Omega:PI/($ns*$ns)' " . | 
| 424 | < | q{-e 'Ri=$1;Gi=$2;Bi=$3' } . | 
| 425 | < | "-e '$CIEuv' " . | 
| 420 | > | $cmd .= "-e 'Omega:PI/($ns*$ns)' " . | 
| 421 |  | q{-e '$1=Yi/Omega'}; | 
| 422 |  | } elsif ("$spec" eq "CIE-u") { | 
| 423 | < | $cmd = q{rcalc -if3 -e 'Ri=$1;Gi=$2;Bi=$3' } . | 
| 429 | < | "-e '$CIEuv' " . | 
| 423 | > | $cmd .= "-e '$CIEuv' " . | 
| 424 |  | q{-e '$1=uprime'}; | 
| 425 |  | } elsif ("$spec" eq "CIE-v") { | 
| 426 | < | $cmd = q{rcalc -if3 -e 'Ri=$1;Gi=$2;Bi=$3' } . | 
| 433 | < | "-e '$CIEuv' " . | 
| 426 | > | $cmd .= "-e '$CIEuv' " . | 
| 427 |  | q{-e '$1=vprime'}; | 
| 428 |  | } | 
| 429 |  | } | 
| 432 |  | my $pcull = ("$spec" eq "Visible") ? $pctcull : | 
| 433 |  | (100 - (100-$pctcull)*.25) ; | 
| 434 |  | if ($windoz) { | 
| 435 | < | $cmd = "rcollate -ho -oc 1 $src | " . | 
| 443 | < | $cmd . | 
| 444 | < | " | rttree_reduce$avg -h -fa -t $pcull -r $tensortree -g $ttlog2"; | 
| 435 | > | $cmd .= " | rttree_reduce$avg -h -fa -t $pcull -r $tensortree -g $ttlog2"; | 
| 436 |  | } else { | 
| 437 | < | $cmd .= " -of $src " . | 
| 447 | < | "| rttree_reduce$avg -h -ff -t $pcull -r $tensortree -g $ttlog2"; | 
| 437 | > | $cmd .= " | rttree_reduce$avg -h -ff -t $pcull -r $tensortree -g $ttlog2"; | 
| 438 |  | } | 
| 439 |  | run_check "$cmd > $dest"; | 
| 440 |  | } else { | 
| 451 | – | if ($windoz) { | 
| 452 | – | $cmd = "rcollate -ho -oc 1 $src | " . $cmd ; | 
| 453 | – | } else { | 
| 454 | – | $cmd .= " $src"; | 
| 455 | – | } | 
| 441 |  | if ( active_phase() ) { | 
| 442 |  | open(DATOUT, "> $dest"); | 
| 443 |  | print DATOUT "{\n"; | 
| 520 |  | my $dest = shift; | 
| 521 |  | my $cmd = "rmtxop -fa -t"; | 
| 522 |  | if ("$spec" eq "Visible") { | 
| 523 | < | $cmd .= " -c 0.2651 0.6701 0.0648"; | 
| 523 | > | $cmd .= " -c y"; | 
| 524 |  | } elsif ("$spec" eq "CIE-X") { | 
| 525 | < | $cmd .= " -c 0.5141 0.3239 0.1620"; | 
| 525 | > | $cmd .= " -c x"; | 
| 526 |  | } elsif ("$spec" eq "CIE-Z") { | 
| 527 | < | $cmd .= " -c 0.0241 0.1229 0.8530"; | 
| 527 | > | $cmd .= " -c z"; | 
| 528 |  | } | 
| 529 |  | $cmd .= " $src | getinfo -"; | 
| 530 |  | run_check "$cmd > $dest"; |