ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/Development/ray/doc/man/man1/rtrace.1
(Generate patch)

Comparing ray/doc/man/man1/rtrace.1 (file contents):
Revision 1.7 by greg, Tue Apr 19 01:15:06 2005 UTC vs.
Revision 1.29 by rschregle, Fri Jan 26 18:30:27 2018 UTC

# Line 30 | Line 30 | Input for each ray is:
30   If the direction vector is (0,0,0), a bogus record
31   is printed and the output is flushed if the
32   .I -x
33 < value is unset or zero.
33 > value is one or zero.
34   (See the notes on this option below.)\0
35   This may be useful for programs that run
36   .I rtrace
# Line 87 | Line 87 | d      direction (normalized)
87   .IP
88   v       value (radiance)
89   .IP
90 + V       contribution (radiance)
91 + .IP
92   w       weight
93   .IP
94 < W       contribution
94 > W       color coefficient
95   .IP
96   l       effective length of ray
97   .IP
# Line 109 | Line 111 | m      modifier name
111   .IP
112   M       material name
113   .IP
114 + ~       tilde (end of trace marker)
115 + .IP
116   If the letter 't' appears in
117   .I spec,
118   then the fields following will be printed for every ray traced,
# Line 116 | Line 120 | not just the final result.
120   If the capital letter 'T' is given instead of 't', then all rays will
121   be reported, including shadow testing rays to light sources.
122   Spawned rays are indented one tab for each level.
123 + The tilde marker ('~') is a handy way of differentiating the final ray
124 + value from daughter values in a traced ray tree, and usually appears
125 + right before the 't' or 'T' output flags.
126 + E.g.,
127 + .I \-ov~TmW
128 + will emit a tilde followed by a tab at the end of each trace,
129 + which can be easily distinguished even in binary output.
130   .IP
131   Note that there is no space between this option and its argument.
132   .TP
# Line 138 | Line 149 | must appear in a separate option.
149   Add
150   .I mod
151   to the trace include list,
152 < so that it will be considered during the indirect calculation.
152 > so that it will be reported by the trace option.
153   The program can use either an include list or an exclude
154   list, but not both.
155   .TP
# Line 169 | Line 180 | option (below) may be used to override this.
180   This option is especially useful in
181   conjunction with ximage(1) for computing illuminance at scene points.
182   .TP
183 + .BR \-u
184 + Boolean switch to control uncorrelated random sampling.
185 + When "off", a low-discrepancy sequence is used, which reduces
186 + variance but can result in a brushed appearance in specular highlights.
187 + When "on", pure Monte Carlo sampling is used in all calculations.
188 + .TP
189   .BR \-I
190   Boolean switch to compute irradiance rather than radiance,
191   with the input origin and direction interpreted instead
# Line 182 | Line 199 | Set the x resolution to
199   .I res.
200   The output will be flushed after every
201   .I res
202 < input rays.
202 > input rays if
203 > .I \-y
204 > is set to zero.
205 > A value of one means that every ray will be flushed, whatever
206 > the setting of
207 > .I \-y.
208   A value of zero means that no output flushing will take place.
209   .TP
210   .BI -y \ res
# Line 213 | Line 235 | format.
235   .I \-f
236   option, above.)
237   .TP
238 + .BI -n \ nproc
239 + Execute in parallel on
240 + .I nproc
241 + local processes.
242 + This option is incompatible with the
243 + .I \-P
244 + and
245 + .I \-PP,
246 + options.
247 + Multiple processes also do not work properly with ray tree output
248 + using any of the
249 + .I \-o*t*
250 + options.
251 + There is no benefit from specifying more processes than there are
252 + cores available on the system or the
253 + .I \-x
254 + setting, which forces a wait at each flush.
255 + .TP
256   .BI -dj \ frac
257   Set the direct jittering to
258   .I frac.
# Line 295 | Line 335 | may also be desirable in conjunction with the
335   .I \-i
336   option.
337   .TP
338 < .BI -sj \ frac
339 < Set the specular sampling jitter to
340 < .I frac.
341 < This is the degree to which the highlights are sampled
342 < for rough specular materials.
343 < A value of one means that all highlights will be fully sampled
344 < using distributed ray tracing.
338 > .BI -ss \ samp
339 > Set the specular sampling to
340 > .I samp.
341 > For values less than 1, this is the degree to which the highlights
342 > are sampled for rough specular materials.
343 > A value greater than one causes multiple ray samples to be sent
344 > to reduce noise at a commmesurate cost.
345   A value of zero means that no jittering will take place, and all
346   reflections will appear sharp even when they should be diffuse.
347   .TP
# Line 321 | Line 361 | accuracy and rendering time.
361   .TP
362   .BR -bv
363   Boolean switch for back face visibility.
364 < With this switch off, back faces of opaque objects will be invisible
365 < to all rays.
364 > With this switch off, back faces of all objects will be invisible
365 > to view rays.
366   This is dangerous unless the model was constructed such that
367 < all surface normals on opaque objects face outward.
367 > all surface normals face outward.
368   Although turning off back face visibility does not save much
369   computation time under most circumstances, it may be useful as a
370   tool for scene debugging, or for seeing through one-sided walls from
371   the outside.
332 This option has no effect on transparent or translucent materials.
372   .TP
373   .BI -av " red grn blu"
374   Set the ambient value to a radiance of
# Line 362 | Line 401 | indirect contributions, such as when both indoor and o
401   .BI -ab \ N
402   Set the number of ambient bounces to
403   .I N.
404 < This is the maximum number of diffuse bounces
405 < computed by the indirect calculation.
406 < A value of zero implies no indirect calculation.
404 > This is the maximum number of diffuse bounces computed by the indirect
405 > calculation. A value of zero implies no indirect calculation.
406 > .IP
407 > This value defaults to 1 in photon mapping mode (see
408 > .I -ap
409 > below), implying that global photon irradiance is always computed via
410 > .I one
411 > ambient bounce; this behaviour applies to any positive number of ambient
412 > bounces, regardless of the actual value specified.  A negative value enables
413 > a preview mode that directly visualises the irradiance from the global
414 > photon map without any ambient bounces.
415   .TP
416   .BI -ar \ res
417   Set the ambient resolution to
# Line 470 | Line 517 | Same as
517   except read modifiers to be included from
518   .I file.
519   .TP
520 + .BI -ap " file [bwidth1 [bwidth2]]"
521 + Enable photon mapping mode. Loads a photon map generated with
522 + .I mkpmap(1)
523 + from
524 + .I file,
525 + and evaluates the indirect irradiance depending on the photon type
526 + (automagically detected) using density estimates with a bandwidth of
527 + .I bwidth1
528 + photons, or the default bandwidth if none is specified (a warning will be
529 + issued in this case).
530 + .IP
531 + Global photon irradiance is evaluated as part of the ambient calculation (see
532 + .I \-ab
533 + above), caustic photon irradiance is evaluated at primary rays, and
534 + indirect inscattering in
535 + .I mist
536 + is accounted for by volume photons. Contribution photons are treated as
537 + global photons by
538 + .I rtrace.
539 + .IP
540 + Additionally specifying
541 + .I bwidth2
542 + enables bias compensation for the density estimates with a
543 + minimum and maximum bandwidth of
544 + .I bwidth1
545 + and
546 + .I bwidth2,
547 + respectively.
548 + .IP
549 + Global photon irradiance may be optionally precomputed by
550 + .I mkpmap(1),
551 + in which case the bandwidth, if specified, is ignored, as the nearest photon
552 + is invariably looked up.
553 + .IP
554 + Using direct photons replaces the direct calculation with density estimates
555 + for debugging and validation of photon emission.      
556 + .TP
557 + .BI -am " frac"
558 + Maximum search radius for photon map lookups.  Without this option, an
559 + initial maximum search radius is estimated for each photon map from the
560 + average photon distance to the distribution's centre of gravity.  It is then
561 + adapted to the photon density in subsequent lookups.  This option imposes a
562 + global fixed maximum search radius for
563 + .I all
564 + photon maps, thus defeating the automatic adaptation.  It is useful when
565 + multiple warnings about short photon lookups are issued.  Note that this
566 + option does not conflict with the bandwidth specified with the
567 + .I \-ap
568 + option; the number of photons found will not exceed the latter, but may be
569 + lower if the maximum search radius contains fewer photons, thus resulting in
570 + short lookups.  Setting this radius too large, on the other hand, may
571 + degrade performance.
572 + .TP
573 + .BI -ac " pagesize"
574 + Set the photon cache page size when using out-of-core photon mapping. The
575 + photon cache reduces disk I/O incurred by on-demand loading (paging) of
576 + photons, and thus increases performance. This
577 + is expressed as a (float) multiple of the density estimate bandwidth
578 + specified with
579 + .I \-ap
580 + under the assumption that photon lookups are local to a cache page. Cache
581 + performance is sensitive to this parameter: larger pagesizes will reduce the
582 + paging frequency at the expense of higher latency when paging does occur.
583 + Sensible values are in the range 4 (default) to 16.
584 + .TP
585 + .BI -aC " cachesize"
586 + Set the total number of photons cached when using out-of-core photon
587 + mapping, taking into account the pagesize specified by
588 + .I \-ac.
589 + Note that this is approximate as the number of cache pages is rounded to
590 + the nearest prime. This allows adapting the cache to the available physical
591 + memory. In conjunction with the
592 + .I \-n
593 + option, this is the cache size
594 + .I per parallel process.
595 + Cache performance is less sensitive to this parameter,
596 + and reasonable performance can obtained with as few as 10k photons. The
597 + default is 1M. This option recognises multiplier suffixes (k = 1e3, M =
598 + 1e6), both in upper and lower case.
599 + .TP
600   .BI -me " rext gext bext"
601   Set the global medium extinction coefficient to the indicated color,
602   in units of 1/distance (distance in world coordinates).
# Line 508 | Line 635 | source within a given scattering volume.
635   .TP
636   .BI -lr \ N
637   Limit reflections to a maximum of
638 < .I N.
638 > .I N,
639 > if N is a positive integer.
640 > If
641 > .I N
642 > is zero or negative, then Russian roulette is used for ray
643 > termination, and the
644 > .I -lw
645 > setting (below) must be positive.
646 > If N is a negative integer, then this sets the upper limit
647 > of reflections past which Russian roulette will be used.
648 > In scenes with dielectrics and total internal reflection,
649 > a setting of 0 (no limit) may cause a stack overflow.
650   .TP
651   .BI -lw \ frac
652   Limit the weight of each ray to a minimum of
653   .I frac.
654 < During ray-tracing, a record is kept of the final contribution
655 < a ray would have to the image.
656 < If it is less then the specified minimum, the ray is not traced.
654 > During ray-tracing, a record is kept of the estimated contribution
655 > (weight) a ray would have in the image.
656 > If this weight is less than the specified minimum and the
657 > .I -lr
658 > setting (above) is positive, the ray is not traced.
659 > Otherwise, Russian roulette is used to
660 > continue rays with a probability equal to the ray weight
661 > divided by the given
662 > .I frac.
663   .TP
664   .BR -ld
665   Boolean switch to limit ray distance.
# Line 576 | Line 720 | This provides a simple and reliable mechanism of memor
720   on most multiprocessing platforms, since the
721   .I fork(2)
722   system call will share memory on a copy-on-write basis.
723 + .SH NOTES
724 + Photons are generally surface bound (an exception are volume photons), thus
725 + the ambient irradiance in photon mapping mode will be biased at positions
726 + which do not lie on a surface.
727   .SH EXAMPLES
728   To compute radiance values for the rays listed in samples.inp:
729   .IP "" .2i
730 < rtrace -ov scene.oct < samples.inp > radiance.out
730 > rtrace \-ov scene.oct < samples.inp > radiance.out
731   .PP
732   To compute illuminance values at locations selected with the 't'
733   command of
734   .I ximage(1):
735   .IP "" .2i
736 < ximage scene.pic | rtrace -h -x 1 -i scene.oct | rcalc -e '$1=47.4*$1+120*$2+11.6*$3'
736 > ximage scene.hdr | rtrace \-h \-x 1 \-i scene.oct | rcalc \-e '$1=47.4*$1+120*$2+11.6*$3'
737   .PP
738   To record the object identifier corresponding to each pixel in an image:
739   .IP "" .2i
740 < vwrays -fd scene.pic | rtrace -fda `vwrays -d scene.pic` -os scene.oct
740 > vwrays \-fd scene.hdr | rtrace \-fda `vwrays \-d scene.hdr` \-os scene.oct
741   .PP
742   To compute an image with an unusual view mapping:
743   .IP "" .2i
744 < cnt 640 480 | rcalc -e 'xr:640;yr:480' -f unusual_view.cal | rtrace
745 < -x 640 -y 480 -fac scene.oct > unusual.pic
744 > cnt 480 640 | rcalc \-e 'xr:640;yr:480' \-f unusual_view.cal | rtrace
745 > \-x 640 \-y 480 \-fac scene.oct > unusual.hdr
746 > .PP
747 > To compute ambient illuminance in photon mapping mode from a global photon
748 > map global.pm via one ambient bounce, and from a caustic photon map
749 > caustic.pm at sensor positions in samples.inp:
750 > .IP "" .2i
751 > rtrace -h -ov -ab 1 -ap global.pm 50 -ap caustic.pm 50 scene.oct <
752 > samples.inp > illum.out
753   .SH ENVIRONMENT
754   RAYPATH         the directories to check for auxiliary files.
755   .SH FILES
# Line 612 | Line 767 | option.
767   .SH AUTHOR
768   Greg Ward
769   .SH "SEE ALSO"
770 < getinfo(1), lookamb(1), oconv(1), pfilt(1), pinterp(1),
771 < pvalue(1), rpict(1), rvu(1), vwrays(1), ximage(1)
770 > getinfo(1), lookamb(1), mkpmap(1), oconv(1), pfilt(1), pinterp(1),
771 > pvalue(1), rpict(1), rcontrib(1), rvu(1), vwrays(1), ximage(1)

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)