| 7 |
|
[ |
| 8 |
|
.B "\-n nprocs" |
| 9 |
|
][ |
| 10 |
+ |
.B \-V |
| 11 |
+ |
][ |
| 12 |
+ |
.B \-c |
| 13 |
+ |
][ |
| 14 |
+ |
.B \-fo |
| 15 |
+ |
| |
| 16 |
|
.B \-r |
| 17 |
|
][ |
| 18 |
|
.B "\-e expr" |
| 43 |
|
.B "rtcontrib [ options ] \-defaults" |
| 44 |
|
.SH DESCRIPTION |
| 45 |
|
.I Rtcontrib |
| 46 |
< |
computes ray contributions (i.e., color coefficients) |
| 46 |
> |
computes ray coefficients |
| 47 |
|
for objects whose modifiers are named in one or more |
| 48 |
|
.I \-m |
| 49 |
|
settings. |
| 58 |
|
(No search takes place if a file name begins with a '.', '/' or '~' |
| 59 |
|
character.)\0 |
| 60 |
|
.PP |
| 61 |
+ |
By setting the boolean |
| 62 |
+ |
.I \-V |
| 63 |
+ |
option, you may instruct |
| 64 |
+ |
.I rtcontrib |
| 65 |
+ |
to report the contribution from each material rather than the ray |
| 66 |
+ |
coefficient. |
| 67 |
+ |
This is particularly useful for light sources with directional output |
| 68 |
+ |
distributions, whose value would otherwise be lost in the shuffle. |
| 69 |
+ |
With the default |
| 70 |
+ |
.I -V- |
| 71 |
+ |
setting, the output of rtcontrib is a coefficient that must be multiplied |
| 72 |
+ |
by the radiance of each material to arrive at a final contribution. |
| 73 |
+ |
This is more convenient for computing daylight coefficeints, or cases |
| 74 |
+ |
where the actual radiance is not desired. |
| 75 |
+ |
Use the |
| 76 |
+ |
.I -V+ |
| 77 |
+ |
setting when you wish to simply sum together contributions |
| 78 |
+ |
(with possible adjustment factors) to obtain a final radiance value. |
| 79 |
+ |
Combined with the |
| 80 |
+ |
.I \-i |
| 81 |
+ |
or |
| 82 |
+ |
.I \-I |
| 83 |
+ |
option, irradiance contributions are reported by |
| 84 |
+ |
.I \-V+ |
| 85 |
+ |
rather than radiance, and |
| 86 |
+ |
.I \-V- |
| 87 |
+ |
coefficients contain an additonal factor of PI. |
| 88 |
+ |
.PP |
| 89 |
|
The output of |
| 90 |
|
.I rtcontrib |
| 91 |
|
has many potential uses. |
| 97 |
|
can be used to compute arbitrary input-output relationships in optical |
| 98 |
|
systems, such as luminaires, light pipes, and shading devices. |
| 99 |
|
.PP |
| 100 |
+ |
Setting the |
| 101 |
+ |
.I \-c |
| 102 |
+ |
option instructs |
| 103 |
+ |
.I rtcontrib |
| 104 |
+ |
to accumulate values rather than reporting one record per ray. |
| 105 |
+ |
With this option, only a single record will be produced at the very |
| 106 |
+ |
end, corresponding to the sum of all rays given on the input. |
| 107 |
+ |
This is equivalent to passing all the output records through a program like |
| 108 |
+ |
.I total(1) |
| 109 |
+ |
to sum RGB values together, but is much more efficient. |
| 110 |
+ |
Using this option, it is possible to reverse sampling, sending rays from |
| 111 |
+ |
a parallel source such as the sun to a diffuse surface, for example. |
| 112 |
+ |
Care must be taken to perform normalization based on the |
| 113 |
+ |
radiation density and the number of rays sampled. |
| 114 |
+ |
.PP |
| 115 |
|
.I Rtcontrib |
| 116 |
|
calls |
| 117 |
|
.I rtrace(1) |
| 118 |
< |
with the -oTW option to calculate the daughter ray |
| 118 |
> |
with the \-oTW (or \-oTV) option to calculate the daughter ray |
| 119 |
|
contributions for each input ray, and the output tallies |
| 120 |
|
are sent to one or more destinations according to the given |
| 121 |
|
.I \-o |
| 123 |
|
If a destination begins with an exclamation mark ('!'), then |
| 124 |
|
a pipe is opened to a command and data is sent to its standard input. |
| 125 |
|
Otherwise, the destination is treated as a file. |
| 126 |
< |
An existing file of the same name is clobbered, unless the |
| 126 |
> |
An existing file of the same name will not be clobbered, unless the |
| 127 |
> |
.I \-fo |
| 128 |
> |
option is given. |
| 129 |
> |
If instead the |
| 130 |
|
.I \-r |
| 131 |
< |
option is specified, in which case data recovery is attempted. |
| 131 |
> |
option is specified, data recovery is attempted on existing files. |
| 132 |
> |
(If |
| 133 |
> |
.I \-c |
| 134 |
> |
is used together with the |
| 135 |
> |
.I \-r |
| 136 |
> |
option, existing files are read in and new ray evaluations are added |
| 137 |
> |
to the previous results, providing a convenient means for |
| 138 |
> |
progressive simulation.)\0 |
| 139 |
|
If an output specification contains a "%s" format, this will be |
| 140 |
|
replaced by the modifier name. |
| 141 |
|
The |
| 148 |
|
and surface intersection, as described below. |
| 149 |
|
If the number of bins is known in advance, it should be specified with the |
| 150 |
|
.I \-bn |
| 151 |
< |
option, especially for output files containing multiple bins. |
| 152 |
< |
Set this to 0 if the number of bins is unknown (the default). |
| 151 |
> |
option, and this is critical for output files containing multiple values |
| 152 |
> |
per record. |
| 153 |
> |
Since bin numbers start from 0, the bin count is always equal to |
| 154 |
> |
the last bin plus 1. |
| 155 |
> |
Set the this value to 0 if the bin count is unknown (the default). |
| 156 |
|
The most recent |
| 157 |
|
.I \-b, |
| 158 |
|
.I \-bn |
| 161 |
|
options to the left of each |
| 162 |
|
.I \-m |
| 163 |
|
setting affect only that modifier. |
| 164 |
< |
(The ordering of other options is unimportant.)\0 |
| 164 |
> |
The ordering of other options is unimportant, except for |
| 165 |
> |
.I \-x |
| 166 |
> |
and |
| 167 |
> |
.I \-y |
| 168 |
> |
if the |
| 169 |
> |
.I \-c |
| 170 |
> |
is present, when they control the resolution string |
| 171 |
> |
produced in the corresponding output. |
| 172 |
|
.PP |
| 173 |
|
If a |
| 174 |
|
.I \-b |
| 264 |
|
To compute the proportional contributions from sources modified |
| 265 |
|
by "light1" vs. "light2" on a set of illuminance values: |
| 266 |
|
.IP "" .2i |
| 267 |
< |
rtcontrib -I+ @render.opt -o c_%s.dat -m light1 -m light2 scene.oct < test.dat |
| 267 |
> |
rtcontrib \-I+ @render.opt \-o c_%s.dat \-m light1 \-m light2 scene.oct < test.dat |
| 268 |
|
.PP |
| 269 |
|
To generate a pair of images corresponding to these two lights' |
| 270 |
|
contributions: |
| 271 |
|
.IP "" .2i |
| 272 |
< |
vwrays -ff -x 1024 -y 1024 -vf best.vf | |
| 273 |
< |
rtcontrib -ffc `vwrays -d -x 1024 -y 1024 -vf best.vf` |
| 274 |
< |
@render.opt -o c_%s.pic -m light1 -m light2 scene.oct |
| 272 |
> |
vwrays \-ff \-x 1024 \-y 1024 \-vf best.vf | |
| 273 |
> |
rtcontrib \-ffc `vwrays \-d \-x 1024 \-y 1024 \-vf best.vf` |
| 274 |
> |
@render.opt \-o c_%s.pic \-m light1 \-m light2 scene.oct |
| 275 |
|
.PP |
| 276 |
|
These images may then be recombined using the desired outputs |
| 277 |
|
of light1 and light2: |
| 278 |
|
.IP "" .2i |
| 279 |
< |
pcomb -c 100 90 75 c_light1.pic -c 50 55 57 c_light2.pic > combined.pic |
| 279 |
> |
pcomb \-c 100 90 75 c_light1.pic \-c 50 55 57 c_light2.pic > combined.pic |
| 280 |
|
.PP |
| 281 |
|
To compute an array of illuminance contributions according to a Tregenza sky: |
| 282 |
|
.IP "" .2i |
| 283 |
< |
rtcontrib -I+ -b tbin -o sky.dat -m skyglow -b 0 -o ground.dat -m groundglow |
| 284 |
< |
@render.opt -f tregenza.cal scene.oct < test.dat |
| 283 |
> |
rtcontrib \-I+ \-b tbin \-o sky.dat \-m skyglow \-b 0 \-o ground.dat \-m groundglow |
| 284 |
> |
@render.opt \-f tregenza.cal scene.oct < test.dat |
| 285 |
|
.SH ENVIRONMENT |
| 286 |
< |
RAYPATH path to search for -f and -M files |
| 286 |
> |
RAYPATH path to search for \-f and \-M files |
| 287 |
|
.SH AUTHOR |
| 288 |
|
Greg Ward |
| 289 |
|
.SH "SEE ALSO" |
| 290 |
|
cnt(1), getinfo(1), pcomb(1), pfilt(1), ra_rgbe(1), |
| 291 |
< |
rcalc(1), rpict(1), rtrace(1), vwrays(1), ximage(1) |
| 291 |
> |
rcalc(1), rpict(1), rtrace(1), total(1), vwrays(1), ximage(1) |