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.21 by greg, Sun Apr 10 16:00:14 2022 UTC vs.
Revision 2.22 by greg, Mon Apr 11 04:03:36 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 +        if (!defined($outzbf) && !defined($outdir)) {
156 +                # Straight picture output, so just randomize sample order
157 +                system "cnt $res[1] $res[3] | sort -R > /tmp/ord$$.txt";
158 +                die "sort 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 - < /tmp/pix$$.txt " .
163 +                        "| rlam /tmp/ord$$.txt - | sort -k2rn -k1n ) " .
164 +                        "| pvalue -r -Y $res[3] +X $res[1] | getinfo -a 'VIEW=$view'";
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 $oxres = int($res[1]/6);
171          my $oyres = int($res[3]/6);
172          print STDERR "Running $oxres by $oyres overture calculation " .
173                          "to populate '$ambfile'...\n";
174 <        system "@vwraysA -x $oxres -y $oyres -pj 0 -fa " .
174 >        system "@vwraysA -x $oxres -y $oyres -pj 0 " .
175                  "| sort -R | @rtraceA -faf -ov '$oct' > /dev/null";
176          die "Failure running overture\n" if ( $? );
177          print STDERR "Finished overture.\n";
# Line 164 | Line 179 | if ($nprocs > 1 && $ambounce > 0 && $ambcache && defin
179   #####################################################################
180   ##### Generating picture with depth buffer?
181   if (defined $outzbf) {
182 <        exec "@vwraysA | @rtraceA -fff -olv @res '$oct' | " .
182 >        exec "@vwraysA -ff | @rtraceA -fff -olv @res '$oct' | " .
183                  "rsplit -ih -iH -f -of '$outzbf' -oh -oH -of3 - | " .
184                  "pvalue -r -df | getinfo -a 'VIEW=$view'";
185   }
186   #####################################################################
187   ##### Base case with output picture only?
188   if (! defined $outdir) {
189 <        exec "@vwraysA | @rtraceA -ffc @res '$oct' | getinfo -a 'VIEW=$view'";
189 >        exec "@vwraysA -ff | @rtraceA -ffc @res '$oct' | getinfo -a 'VIEW=$view'";
190   }
191   #####################################################################
192   ##### Layered image output case
# Line 220 | Line 235 | foreach my $oval (split //, $outlyr) {
235          delete $rtoutC{$oval};
236   }
237                          # call rtrace + rsplit
238 < exec "@vwraysA | @rtraceA -fff @res '$oct' | getinfo -a 'VIEW=$view' | @rsplitA";
238 > exec "@vwraysA -ff | @rtraceA -fff @res '$oct' | getinfo -a 'VIEW=$view' | @rsplitA";

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines