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

Comparing ray/src/util/rtpict.pl (file contents):
Revision 2.20 by greg, Sun Apr 10 03:46:27 2022 UTC vs.
Revision 2.25 by greg, Tue Apr 12 00:30:58 2022 UTC

# Line 27 | Line 27 | my %ignoreC = ('-t',1, '-ps',1, '-pt',1, '-pm',1,);
27   # Starting options for rtrace (rpict values)
28   my @rtraceA = split(' ', 'rtrace -u- -dt .05 -dc .5 -ds .25 -dr 1 ' .
29                                  '-aa .2 -ar 64 -ad 512 -as 128 -lr 7 -lw 1e-03');
30 < my @vwraysA = ('vwrays', '-ff', '-pj', '.67');
30 > my @vwraysA = ('vwrays', '-pj', '.67');
31   my @vwrightA = ('vwright', '-vtv');
32   my @rpictA = ('rpict', '-ps', '1');
33   my $outpatt = '^-o[vrxlLRXnNsmM]+';
# Line 150 | Line 150 | my $view = `@vwrightA 0`;
150   chomp $view;
151   my @res = split(/\s/, `@vwraysA -d`);
152   #####################################################################
153 < ##### Run overture calculation?
153 > ##### Resort pixels to reduce ambient cache collisions?
154   if ($nprocs > 1 && $ambounce > 0 && $ambcache && defined($ambfile)) {
155 <        my $oxres = int($res[1]/6) + 1;
156 <        my $oyres = int($res[3]/6) + 1;
157 <        print STDERR "Running $oxres by $oyres overture calculation " .
155 >        if (!defined($outzbf) && !defined($outdir)) {
156 >                # Straight picture output, so just shuffle sample order
157 >                system "cnt -s $res[1] $res[3] > /tmp/ord$$.txt";
158 >                die "cnt error\n" if ( $? );
159 >                system "@vwraysA -ff -i < /tmp/ord$$.txt " .
160 >                        "| @rtraceA -ffa -ov '$oct' > /tmp/pix$$.txt";
161 >                die "Error running rtrace\n" if ( $? );
162 >                system "( getinfo < /tmp/pix$$.txt | getinfo -a 'VIEW=$view'; " .
163 >                        "getinfo - < /tmp/pix$$.txt | rlam /tmp/ord$$.txt - " .
164 >                        "| sort -k2rn -k1n ) | pvalue -r -Y $res[3] +X $res[1]";
165 >                die "rlam error\n" if ( $? );
166 >                unlink ("/tmp/ord$$.txt", "/tmp/pix$$.txt");
167 >                exit 0;
168 >        }
169 >        # Else randomize overture calculation to prime ambient cache
170 >        my @ores = (int($res[1]/6), int($res[3]/6));
171 >        print STDERR "Running $ores[0] by $ores[1] overture calculation " .
172                          "to populate '$ambfile'...\n";
173 <        system "cnt $oxres $oyres | sort -R | @vwraysA -i -x $oxres -y $oyres -pj 0 " .
173 >        system "cnt -s @ores | @vwraysA -i -ff -x $ores[0] -y $ores[1] -pj 0 " .
174                  "| @rtraceA -ff -ov '$oct' > /dev/null";
175          die "Failure running overture\n" if ( $? );
176          print STDERR "Finished overture.\n";
# Line 164 | Line 178 | if ($nprocs > 1 && $ambounce > 0 && $ambcache && defin
178   #####################################################################
179   ##### Generating picture with depth buffer?
180   if (defined $outzbf) {
181 <        exec "@vwraysA | @rtraceA -fff -olv @res '$oct' | " .
181 >        exec "@vwraysA -ff | @rtraceA -fff -olv @res '$oct' | " .
182                  "rsplit -ih -iH -f -of '$outzbf' -oh -oH -of3 - | " .
183                  "pvalue -r -df | getinfo -a 'VIEW=$view'";
184   }
185   #####################################################################
186   ##### Base case with output picture only?
187   if (! defined $outdir) {
188 <        exec "@vwraysA | @rtraceA -ffc @res '$oct' | getinfo -a 'VIEW=$view'";
188 >        exec "@vwraysA -ff | @rtraceA -ffc @res '$oct' | getinfo -a 'VIEW=$view'";
189   }
190   #####################################################################
191   ##### Layered image output case
# Line 220 | Line 234 | foreach my $oval (split //, $outlyr) {
234          delete $rtoutC{$oval};
235   }
236                          # call rtrace + rsplit
237 < exec "@vwraysA | @rtraceA -fff @res '$oct' | getinfo -a 'VIEW=$view' | @rsplitA";
237 > exec "@vwraysA -ff | @rtraceA -fff @res '$oct' | getinfo -a 'VIEW=$view' | @rsplitA";

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines