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.55 by greg, Fri Mar 27 18:58:06 2015 UTC vs.
Revision 2.56 by greg, Wed Apr 1 01:38:35 2015 UTC

# Line 174 | Line 174 | if ( $geout ) {
174          $wrapper .= " -g $mgfscn";
175   }
176   # Create receiver & sender surfaces (rectangular)
177 + my $FEPS = 1e-5;
178   my $nx = int(sqrt($nsamp*($dim[1]-$dim[0])/($dim[3]-$dim[2])) + 1);
179   my $ny = int($nsamp/$nx + 1);
180   $nsamp = $nx * $ny;
181   my $ns = 2**$ttlog2;
182   open(RADSCN, "> $receivers");
183 < print RADSCN '#@rfluxmtx ' . ($tensortree ? "h=+sc$ns\n" : "h=+kf\n");
184 < print RADSCN '#@rfluxmtx ' . "u=Y o=$facedat\n\n";
183 > print RADSCN '#@rfluxmtx ' . ($tensortree ? "h=-sc$ns\n" : "h=-kf\n");
184 > print RADSCN '#@rfluxmtx ' . "u=-Y o=$facedat\n\n";
185   print RADSCN "void glow receiver_face\n0\n0\n4 1 1 1 0\n\n";
186   print RADSCN "receiver_face source f_receiver\n0\n0\n4 0 0 1 180\n\n";
187 < print RADSCN '#@rfluxmtx ' . ($tensortree ? "h=-sc$ns\n" : "h=-kf\n");
188 < print RADSCN '#@rfluxmtx ' . "u=Y o=$behinddat\n\n";
187 > print RADSCN '#@rfluxmtx ' . ($tensortree ? "h=+sc$ns\n" : "h=+kf\n");
188 > print RADSCN '#@rfluxmtx ' . "u=-Y o=$behinddat\n\n";
189   print RADSCN "void glow receiver_behind\n0\n0\n4 1 1 1 0\n\n";
190   print RADSCN "receiver_behind source b_receiver\n0\n0\n4 0 0 -1 180\n";
191   close RADSCN;
# Line 192 | Line 193 | close RADSCN;
193   $rfluxmtx .= " -n $nproc -c $nsamp";
194   if ( $tensortree != 3 ) {       # Isotropic tensor tree is exception
195          open (RADSCN, "> $fsender");
196 <        print RADSCN '#@rfluxmtx u=Y ' . ($tensortree ? "h=+sc$ns\n\n" : "h=+kf\n\n");
196 >        print RADSCN '#@rfluxmtx u=-Y ' . ($tensortree ? "h=-sc$ns\n\n" : "h=-kf\n\n");
197          print RADSCN "void polygon fwd_sender\n0\n0\n12\n";
198 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[0], $dim[2], $dim[4];
199 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[0], $dim[3], $dim[4];
200 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[1], $dim[3], $dim[4];
201 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[1], $dim[2], $dim[4];
198 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[0], $dim[2], $dim[4]-$FEPS;
199 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[0], $dim[3], $dim[4]-$FEPS;
200 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[1], $dim[3], $dim[4]-$FEPS;
201 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[1], $dim[2], $dim[4]-$FEPS;
202          close RADSCN;
203          open (RADSCN, "> $bsender");
204 <        print RADSCN '#@rfluxmtx u=Y ' . ($tensortree ? "h=-sc$ns\n\n" : "h=-kf\n\n");
204 >        print RADSCN '#@rfluxmtx u=-Y ' . ($tensortree ? "h=+sc$ns\n\n" : "h=+kf\n\n");
205          print RADSCN "void polygon bwd_sender\n0\n0\n12\n";
206 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[0], $dim[2], $dim[5];
207 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[1], $dim[2], $dim[5];
208 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[1], $dim[3], $dim[5];
209 <        printf RADSCN "\t%f\t%f\t%f\n", $dim[0], $dim[3], $dim[5];
206 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[0], $dim[2], $dim[5]+$FEPS;
207 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[1], $dim[2], $dim[5]+$FEPS;
208 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[1], $dim[3], $dim[5]+$FEPS;
209 >        printf RADSCN "\t%e\t%e\t%e\n", $dim[0], $dim[3], $dim[5]+$FEPS;
210          close RADSCN;
211   }
212   # Calculate CIE (u',v') from Radiance RGB:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines