--- ray/src/util/genBSDF.pl 2012/02/17 00:14:46 2.29 +++ ray/src/util/genBSDF.pl 2012/02/23 21:28:42 2.32 @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# RCSid $Id: genBSDF.pl,v 2.29 2012/02/17 00:14:46 greg Exp $ +# RCSid $Id: genBSDF.pl,v 2.32 2012/02/23 21:28:42 greg Exp $ # # Compute BSDF based on geometry and material description # @@ -403,9 +403,9 @@ KprojOmega = PI * if(Kbin-.5, $kcal = ' DEGREE : PI/180; abs(x) : if(x, x, -x); -Acos(x) : 1/DEGREE * if(x-1, 0, if(-1-x, 0, acos(x))); +Acos(x) : if(x-1, 0, if(-1-x, PI, acos(x))) / DEGREE; posangle(a) : if(-a, a + 2*PI, a); -Atan2(y,x) : 1/DEGREE * posangle(atan2(y,x)); +Atan2(y,x) : posangle(atan2(y,x)) / DEGREE; kpola(r) : select(r, 5, 15, 25, 35, 45, 55, 65, 75, 90); knaz(r) : select(r, 1, 8, 16, 20, 24, 24, 24, 16, 12); kaccum(r) : if(r-.5, knaz(r) + kaccum(r-1), 0); @@ -463,8 +463,10 @@ $cmd = "cnt $ndiv $ny $nx | rcalc -of -e '$tcal' " . system "$cmd" || die "Failure running: $cmd\n"; @tbarr = `$rccmd $td/$bmodnm.flt`; die "Failure running: $rccmd $td/$bmodnm.flt\n" if ( $? ); +chomp(@tbarr); @rbarr = `$rccmd $td/$fmodnm.flt`; die "Failure running: $rccmd $td/$fmodnm.flt\n" if ( $? ); +chomp(@rbarr); } # Output angle basis print @@ -584,10 +586,10 @@ print BRDF '; -# Output front reflection (reciprocity averaging) +# Output front reflection (transposed order) for (my $od = 0; $od < $ndiv; $od++) { for (my $id = 0; $id < $ndiv; $id++) { - print .5*($rfarr[$ndiv*$id + $od] + $rfarr[$ndiv*$od + $id]), ",\n"; + print $rfarr[$ndiv*$id + $od], ",\n"; } print "\n"; } @@ -637,7 +639,7 @@ print # Output back reflection (reciprocity averaging) for (my $od = 0; $od < $ndiv; $od++) { for (my $id = 0; $id < $ndiv; $id++) { - print .5*($rbarr[$ndiv*$id + $od] + $rbarr[$ndiv*$od + $id]), ",\n"; + print $rbarr[$ndiv*$id + $od], ",\n"; } print "\n"; }