| 1 | greg | 1.5 | .\" RCSid "$Id: rpict.1,v 1.4 2005/01/18 00:33:15 greg Exp $" | 
| 2 | greg | 1.1 | .TH RPICT 1 2/26/99 RADIANCE | 
| 3 |  |  | .SH NAME | 
| 4 |  |  | rpict - generate a RADIANCE picture | 
| 5 |  |  | .SH SYNOPSIS | 
| 6 |  |  | .B rpict | 
| 7 |  |  | [ | 
| 8 |  |  | .B options | 
| 9 |  |  | ] | 
| 10 |  |  | [ | 
| 11 |  |  | .B $EVAR | 
| 12 |  |  | ] | 
| 13 |  |  | [ | 
| 14 |  |  | .B @file | 
| 15 |  |  | ] | 
| 16 |  |  | [ | 
| 17 |  |  | .B octree | 
| 18 |  |  | ] | 
| 19 |  |  | .br | 
| 20 |  |  | .B "rpict [ options ] \-defaults" | 
| 21 |  |  | .SH DESCRIPTION | 
| 22 |  |  | .I Rpict | 
| 23 |  |  | generates a picture from the RADIANCE scene given in | 
| 24 |  |  | .I octree | 
| 25 |  |  | and sends it to the standard output. | 
| 26 |  |  | If no | 
| 27 |  |  | .I octree | 
| 28 |  |  | is given, the standard input is read. | 
| 29 |  |  | (The octree may also be specified as the output of a command | 
| 30 |  |  | enclosed in quotes and preceded by a `!'.)\0 | 
| 31 |  |  | Options specify the viewing parameters as well as | 
| 32 |  |  | giving some control over the calculation. | 
| 33 |  |  | Options may be given on the command line and/or read from the | 
| 34 |  |  | environment and/or read from a file. | 
| 35 |  |  | A command argument beginning with a dollar sign ('$') is immediately | 
| 36 |  |  | replaced by the contents of the given environment variable. | 
| 37 |  |  | A command argument beginning with an at sign ('@') is immediately | 
| 38 |  |  | replaced by the contents of the given file. | 
| 39 |  |  | .PP | 
| 40 |  |  | In the second form shown above, the default values | 
| 41 |  |  | for the options (modified by those options present) | 
| 42 |  |  | are printed with a brief explanation. | 
| 43 |  |  | .PP | 
| 44 |  |  | Most options are followed by one or more arguments, which must be | 
| 45 |  |  | separated from the option and each other by white space. | 
| 46 |  |  | The exceptions to this rule are the | 
| 47 |  |  | .I \-vt | 
| 48 |  |  | option and the boolean options. | 
| 49 |  |  | Normally, the appearance of a boolean option causes a feature to | 
| 50 |  |  | be "toggled", that is switched from off to on or on to off | 
| 51 |  |  | depending on its previous state. | 
| 52 |  |  | Boolean options may also be set | 
| 53 |  |  | explicitly by following them immediately with a '+' or '-', meaning | 
| 54 |  |  | on or off, respectively. | 
| 55 |  |  | Synonyms for '+' are any of the characters "yYtT1", and synonyms | 
| 56 |  |  | for '-' are any of the characters "nNfF0". | 
| 57 |  |  | All other characters will generate an error. | 
| 58 |  |  | .TP 10n | 
| 59 |  |  | .BI -vt t | 
| 60 |  |  | Set view type to | 
| 61 |  |  | .I t. | 
| 62 |  |  | If | 
| 63 |  |  | .I t | 
| 64 |  |  | is 'v', a perspective view is selected. | 
| 65 |  |  | If | 
| 66 |  |  | .I t | 
| 67 |  |  | is 'l', a parallel view is used. | 
| 68 |  |  | A cylindrical panorma may be selected by setting | 
| 69 |  |  | .I t | 
| 70 |  |  | to the letter 'c'. | 
| 71 |  |  | This view is like a standard perspective vertically, but projected | 
| 72 |  |  | on a cylinder horizontally (like a soupcan's-eye view). | 
| 73 |  |  | Two fisheye views are provided as well; 'h' yields a hemispherical fisheye | 
| 74 |  |  | view and 'a' results in angular fisheye distortion. | 
| 75 |  |  | A hemispherical fisheye is a projection of the hemisphere onto a circle. | 
| 76 |  |  | The maximum view angle for this type is 180 degrees. | 
| 77 |  |  | An angular fisheye view is defined such that distance from the center of | 
| 78 |  |  | the image is proportional to the angle from the central view direction. | 
| 79 |  |  | An angular fisheye can display a full 360 degrees. | 
| 80 |  |  | Note that there is no space between the view type | 
| 81 |  |  | option and its single letter argument. | 
| 82 |  |  | .TP | 
| 83 |  |  | .BI -vp " x y z" | 
| 84 |  |  | Set the view point to | 
| 85 |  |  | .I "x y z". | 
| 86 |  |  | This is the focal point of a perspective view or the | 
| 87 |  |  | center of a parallel projection. | 
| 88 |  |  | .TP | 
| 89 |  |  | .BI -vd " xd yd zd" | 
| 90 |  |  | Set the view direction vector to | 
| 91 |  |  | .I "xd yd zd". | 
| 92 | greg | 1.5 | The length of this vector indicates the focal distance as needed by the | 
| 93 |  |  | .I \-pd | 
| 94 |  |  | option, described below. | 
| 95 | greg | 1.1 | .TP | 
| 96 |  |  | .BI -vu " xd yd zd" | 
| 97 |  |  | Set the view up vector (vertical direction) to | 
| 98 |  |  | .I "xd yd zd". | 
| 99 |  |  | .TP | 
| 100 |  |  | .BI -vh \ val | 
| 101 |  |  | Set the view horizontal size to | 
| 102 |  |  | .I val. | 
| 103 |  |  | For a perspective projection (including fisheye views), | 
| 104 |  |  | .I val | 
| 105 |  |  | is the horizontal field of view (in degrees). | 
| 106 |  |  | For a parallel projection, | 
| 107 |  |  | .I val | 
| 108 |  |  | is the view width in world coordinates. | 
| 109 |  |  | .TP | 
| 110 |  |  | .BI -vv \ val | 
| 111 |  |  | Set the view vertical size to | 
| 112 |  |  | .I val. | 
| 113 |  |  | .TP | 
| 114 |  |  | .BI -vo \ val | 
| 115 |  |  | Set the view fore clipping plane at a distance of | 
| 116 |  |  | .I val | 
| 117 |  |  | from the view point. | 
| 118 |  |  | The plane will be perpendicular to the view direction for | 
| 119 |  |  | perspective and parallel view types. | 
| 120 |  |  | For fisheye view types, the clipping plane is actually a clipping | 
| 121 |  |  | sphere, centered on the view point with radius | 
| 122 |  |  | .I val. | 
| 123 |  |  | Objects in front of this imaginary surface will not be visible. | 
| 124 |  |  | This may be useful for seeing through walls (to get a longer | 
| 125 |  |  | perspective from an exterior view point) or for incremental | 
| 126 |  |  | rendering. | 
| 127 |  |  | A value of zero implies no foreground clipping. | 
| 128 |  |  | A negative value produces some interesting effects, since it creates an | 
| 129 |  |  | inverted image for objects behind the viewpoint. | 
| 130 |  |  | This possibility is provided mostly for the purpose of rendering | 
| 131 |  |  | stereographic holograms. | 
| 132 |  |  | .TP | 
| 133 |  |  | .BI -va \ val | 
| 134 |  |  | Set the view aft clipping plane at a distance of | 
| 135 |  |  | .I val | 
| 136 |  |  | from the view point. | 
| 137 |  |  | Like the view fore plane, it will be perpendicular to the view | 
| 138 |  |  | direction for perspective and parallel view types. | 
| 139 |  |  | For fisheye view types, the clipping plane is actually a clipping | 
| 140 |  |  | sphere, centered on the view point with radius | 
| 141 |  |  | .I val. | 
| 142 |  |  | Objects behind this imaginary surface will not be visible. | 
| 143 |  |  | A value of zero means no aft clipping, and is the only way to see | 
| 144 |  |  | infinitely distant objects such as the sky. | 
| 145 |  |  | .TP | 
| 146 |  |  | .BI -vs \ val | 
| 147 |  |  | Set the view shift to | 
| 148 |  |  | .I val. | 
| 149 |  |  | This is the amount the actual image will be shifted to the right of | 
| 150 |  |  | the specified view. | 
| 151 |  |  | This is option is useful for generating skewed perspectives or | 
| 152 |  |  | rendering an image a piece at a time. | 
| 153 |  |  | A value of 1 means that the rendered image starts just to the right of | 
| 154 |  |  | the normal view. | 
| 155 |  |  | A value of -1 would be to the left. | 
| 156 |  |  | Larger or fractional values are permitted as well. | 
| 157 |  |  | .TP | 
| 158 |  |  | .BI -vl \ val | 
| 159 |  |  | Set the view lift to | 
| 160 |  |  | .I val. | 
| 161 |  |  | This is the amount the actual image will be lifted up from the | 
| 162 |  |  | specified view, similar to the | 
| 163 |  |  | .I \-vs | 
| 164 |  |  | option. | 
| 165 |  |  | .TP | 
| 166 |  |  | .BI -vf \ file | 
| 167 |  |  | Get view parameters from | 
| 168 |  |  | .I file, | 
| 169 | greg | 1.3 | which may be a picture or a file created by rvu (with the "view" command). | 
| 170 | greg | 1.1 | .TP | 
| 171 |  |  | .BI -x \ res | 
| 172 |  |  | Set the maximum x resolution to | 
| 173 |  |  | .I res. | 
| 174 |  |  | .TP | 
| 175 |  |  | .BI -y \ res | 
| 176 |  |  | Set the maximum y resolution to | 
| 177 |  |  | .I res. | 
| 178 |  |  | .TP | 
| 179 |  |  | .BI -pa \ rat | 
| 180 |  |  | Set the pixel aspect ratio (height over width) to | 
| 181 |  |  | .I rat. | 
| 182 |  |  | Either the x or the y resolution will be reduced so that the pixels have | 
| 183 |  |  | this ratio for the specified view. | 
| 184 |  |  | If | 
| 185 |  |  | .I rat | 
| 186 |  |  | is zero, then the x and y resolutions will adhere to the given maxima. | 
| 187 |  |  | .TP | 
| 188 |  |  | .BI -ps \ size | 
| 189 |  |  | Set the pixel sample spacing to the integer | 
| 190 |  |  | .I size. | 
| 191 |  |  | This specifies the sample spacing (in pixels) for adaptive subdivision | 
| 192 |  |  | on the image plane. | 
| 193 |  |  | .TP | 
| 194 |  |  | .BI -pt \ frac | 
| 195 |  |  | Set the pixel sample tolerance to | 
| 196 |  |  | .I frac. | 
| 197 |  |  | If two samples differ by more than this amount, a third | 
| 198 |  |  | sample is taken between them. | 
| 199 |  |  | .TP | 
| 200 |  |  | .BI -pj \ frac | 
| 201 |  |  | Set the pixel sample jitter to | 
| 202 |  |  | .I frac. | 
| 203 |  |  | Distributed ray-tracing performs anti-aliasing by randomly sampling | 
| 204 |  |  | over pixels. | 
| 205 |  |  | A value of one will randomly distribute samples over full | 
| 206 |  |  | pixels. | 
| 207 |  |  | A value of zero samples pixel centers only. | 
| 208 |  |  | A value between zero and one is usually best | 
| 209 |  |  | for low-resolution images. | 
| 210 |  |  | .TP | 
| 211 |  |  | .BI -pm \ frac | 
| 212 |  |  | Set the pixel motion blur to | 
| 213 |  |  | .I frac. | 
| 214 |  |  | In an animated sequence, the exact view will be blurred between the previous | 
| 215 |  |  | view and the next view as though a shutter were open this fraction of a | 
| 216 |  |  | frame time. | 
| 217 |  |  | (See the | 
| 218 |  |  | .I \-S | 
| 219 |  |  | option regarding animated sequences.)\0 | 
| 220 |  |  | The first view will be blurred according to the difference between the | 
| 221 |  |  | initial view set on the command line and the first view taken from the | 
| 222 |  |  | standard input. | 
| 223 |  |  | It is not advisable to use this option in combination with the | 
| 224 |  |  | .I pmblur(1) | 
| 225 |  |  | program, since one takes the place of the other. | 
| 226 |  |  | However, it may improve results with | 
| 227 |  |  | .I pmblur | 
| 228 |  |  | to use a very small fraction with the | 
| 229 |  |  | .I \-pm | 
| 230 |  |  | option, to avoid the ghosting effect of too few time samples. | 
| 231 |  |  | .TP | 
| 232 | greg | 1.4 | .BI -pd \ dia | 
| 233 |  |  | Set the pixel depth-of-field aperture to a diameter of | 
| 234 |  |  | .I dia | 
| 235 |  |  | (in world coordinates). | 
| 236 |  |  | This will be used in conjunction with the view focal distance, indicated | 
| 237 |  |  | by the length of the view direction vector given in the | 
| 238 |  |  | .I \-vd | 
| 239 |  |  | option. | 
| 240 |  |  | It is not advisable to use this option in combination with the | 
| 241 |  |  | .I pdfblur(1) | 
| 242 |  |  | program, since one takes the place of the other. | 
| 243 |  |  | However, it may improve results with | 
| 244 |  |  | .I pdfblur | 
| 245 |  |  | to use a very small fraction with the | 
| 246 |  |  | .I \-pd | 
| 247 |  |  | option, to avoid the ghosting effect of too few samples. | 
| 248 |  |  | .TP | 
| 249 | greg | 1.1 | .BI -dj \ frac | 
| 250 |  |  | Set the direct jittering to | 
| 251 |  |  | .I frac. | 
| 252 |  |  | A value of zero samples each source at specific sample points | 
| 253 |  |  | (see the | 
| 254 |  |  | .I \-ds | 
| 255 |  |  | option below), giving a smoother but somewhat less accurate | 
| 256 |  |  | rendering. | 
| 257 |  |  | A positive value causes rays to be distributed over each | 
| 258 |  |  | source sample according to its size, resulting in more accurate | 
| 259 |  |  | penumbras. | 
| 260 |  |  | This option should never be greater than 1, and may even | 
| 261 |  |  | cause problems (such as speckle) when the value is smaller. | 
| 262 |  |  | A warning about aiming failure will issued if | 
| 263 |  |  | .I frac | 
| 264 |  |  | is too large. | 
| 265 |  |  | It is usually wise to turn off image sampling when using | 
| 266 |  |  | direct jitter by setting -ps to 1. | 
| 267 |  |  | .TP | 
| 268 |  |  | .BI -ds \ frac | 
| 269 |  |  | Set the direct sampling ratio to | 
| 270 |  |  | .I frac. | 
| 271 |  |  | A light source will be subdivided until | 
| 272 |  |  | the width of each sample area divided by the distance | 
| 273 |  |  | to the illuminated point is below this ratio. | 
| 274 |  |  | This assures accuracy in regions close to large area sources | 
| 275 |  |  | at a slight computational expense. | 
| 276 |  |  | A value of zero turns source subdivision off, sending at most one | 
| 277 |  |  | shadow ray to each light source. | 
| 278 |  |  | .TP | 
| 279 |  |  | .BI -dt \ frac | 
| 280 |  |  | Set the direct threshold to | 
| 281 |  |  | .I frac. | 
| 282 |  |  | Shadow testing will stop when the potential contribution of at least | 
| 283 |  |  | the next and at most all remaining light source samples is less than | 
| 284 |  |  | this fraction of the accumulated value. | 
| 285 |  |  | (See the | 
| 286 |  |  | .I \-dc | 
| 287 |  |  | option below.)\0 | 
| 288 |  |  | The remaining light source contributions are approximated | 
| 289 |  |  | statistically. | 
| 290 |  |  | A value of zero means that all light source samples will be tested for shadow. | 
| 291 |  |  | .TP | 
| 292 |  |  | .BI \-dc \ frac | 
| 293 |  |  | Set the direct certainty to | 
| 294 |  |  | .I frac. | 
| 295 |  |  | A value of one guarantees that the absolute accuracy of the direct calculation | 
| 296 |  |  | will be equal to or better than that given in the | 
| 297 |  |  | .I \-dt | 
| 298 |  |  | specification. | 
| 299 |  |  | A value of zero only insures that all shadow lines resulting in a contrast | 
| 300 |  |  | change greater than the | 
| 301 |  |  | .I \-dt | 
| 302 |  |  | specification will be calculated. | 
| 303 |  |  | .TP | 
| 304 |  |  | .BI -dr \ N | 
| 305 |  |  | Set the number of relays for secondary sources to | 
| 306 |  |  | .I N. | 
| 307 |  |  | A value of 0 means that secondary sources will be ignored. | 
| 308 |  |  | A value of 1 means that sources will be made into first generation | 
| 309 |  |  | secondary sources; a value of 2 means that first generation | 
| 310 |  |  | secondary sources will also be made into second generation secondary | 
| 311 |  |  | sources, and so on. | 
| 312 |  |  | .TP | 
| 313 |  |  | .BI -dp \ D | 
| 314 |  |  | Set the secondary source presampling density to D. | 
| 315 |  |  | This is the number of samples per steradian | 
| 316 |  |  | that will be used to determine ahead of time whether or not | 
| 317 |  |  | it is worth following shadow rays through all the reflections and/or | 
| 318 |  |  | transmissions associated with a secondary source path. | 
| 319 |  |  | A value of 0 means that the full secondary source path will always | 
| 320 |  |  | be tested for shadows if it is tested at all. | 
| 321 |  |  | .TP | 
| 322 |  |  | .BR \-dv | 
| 323 |  |  | Boolean switch for light source visibility. | 
| 324 |  |  | With this switch off, sources will be black when viewed directly | 
| 325 |  |  | although they will still participate in the direct calculation. | 
| 326 |  |  | This option may be desirable in conjunction with the | 
| 327 |  |  | .I \-i | 
| 328 |  |  | option so that light sources do not appear in the output. | 
| 329 |  |  | .TP | 
| 330 |  |  | .BI -sj \ frac | 
| 331 |  |  | Set the specular sampling jitter to | 
| 332 |  |  | .I frac. | 
| 333 |  |  | This is the degree to which the highlights are sampled | 
| 334 |  |  | for rough specular materials. | 
| 335 |  |  | A value of one means that all highlights will be fully sampled | 
| 336 |  |  | using distributed ray tracing. | 
| 337 |  |  | A value of zero means that no jittering will take place, and all | 
| 338 |  |  | reflections will appear sharp even when they should be diffuse. | 
| 339 |  |  | This may be desirable when used in combination with image sampling | 
| 340 |  |  | (see | 
| 341 |  |  | .I \-ps | 
| 342 |  |  | option above) to obtain faster renderings. | 
| 343 |  |  | .TP | 
| 344 |  |  | .BI -st \ frac | 
| 345 |  |  | Set the specular sampling threshold to | 
| 346 |  |  | .I frac. | 
| 347 |  |  | This is the minimum fraction of reflection or transmission, under which | 
| 348 |  |  | no specular sampling is performed. | 
| 349 |  |  | A value of zero means that highlights will always be sampled by | 
| 350 |  |  | tracing reflected or transmitted rays. | 
| 351 |  |  | A value of one means that specular sampling is never used. | 
| 352 |  |  | Highlights from light sources will always be correct, but | 
| 353 |  |  | reflections from other surfaces will be approximated using an | 
| 354 |  |  | ambient value. | 
| 355 |  |  | A sampling threshold between zero and one offers a compromise between image | 
| 356 |  |  | accuracy and rendering time. | 
| 357 |  |  | .TP | 
| 358 |  |  | .BR -bv | 
| 359 |  |  | Boolean switch for back face visibility. | 
| 360 |  |  | With this switch off, back faces of opaque objects will be invisible | 
| 361 |  |  | to all rays. | 
| 362 |  |  | This is dangerous unless the model was constructed such that | 
| 363 |  |  | all surface normals on opaque objects face outward. | 
| 364 |  |  | Although turning off back face visibility does not save much | 
| 365 |  |  | computation time under most circumstances, it may be useful as a | 
| 366 |  |  | tool for scene debugging, or for seeing through one-sided walls from | 
| 367 |  |  | the outside. | 
| 368 |  |  | This option has no effect on transparent or translucent materials. | 
| 369 |  |  | .TP | 
| 370 |  |  | .BI -av " red grn blu" | 
| 371 |  |  | Set the ambient value to a radiance of | 
| 372 |  |  | .I "red grn blu". | 
| 373 |  |  | This is the final value used in place of an | 
| 374 |  |  | indirect light calculation. | 
| 375 |  |  | If the number of ambient bounces is one or greater and the ambient | 
| 376 |  |  | value weight is non-zero (see | 
| 377 |  |  | .I -aw | 
| 378 |  |  | and | 
| 379 |  |  | .I -ab | 
| 380 |  |  | below), this value may be modified by the computed indirect values | 
| 381 |  |  | to improve overall accuracy. | 
| 382 |  |  | .TP | 
| 383 |  |  | .BI -aw \ N | 
| 384 |  |  | Set the relative weight of the ambient value given with the | 
| 385 |  |  | .I -av | 
| 386 |  |  | option to | 
| 387 |  |  | .I N. | 
| 388 |  |  | As new indirect irradiances are computed, they will modify the | 
| 389 |  |  | default ambient value in a moving average, with the specified weight | 
| 390 |  |  | assigned to the initial value given on the command and all other | 
| 391 |  |  | weights set to 1. | 
| 392 |  |  | If a value of 0 is given with this option, then the initial ambient | 
| 393 |  |  | value is never modified. | 
| 394 |  |  | This is the safest value for scenes with large differences in | 
| 395 |  |  | indirect contributions, such as when both indoor and outdoor | 
| 396 |  |  | (daylight) areas are visible. | 
| 397 |  |  | .TP | 
| 398 |  |  | .BI -ab \ N | 
| 399 |  |  | Set the number of ambient bounces to | 
| 400 |  |  | .I N. | 
| 401 |  |  | This is the maximum number of diffuse bounces | 
| 402 |  |  | computed by the indirect calculation. | 
| 403 |  |  | A value of zero implies no indirect calculation. | 
| 404 |  |  | .TP | 
| 405 |  |  | .BI -ar \ res | 
| 406 |  |  | Set the ambient resolution to | 
| 407 |  |  | .I res. | 
| 408 |  |  | This number will determine the maximum density of ambient values | 
| 409 |  |  | used in interpolation. | 
| 410 |  |  | Error will start to increase on surfaces spaced closer than | 
| 411 |  |  | the scene size divided by the ambient resolution. | 
| 412 |  |  | The maximum ambient value density is the scene size times the | 
| 413 |  |  | ambient accuracy (see the | 
| 414 |  |  | .I \-aa | 
| 415 |  |  | option below) divided by the ambient resolution. | 
| 416 |  |  | The scene size can be determined using | 
| 417 |  |  | .I getinfo(1) | 
| 418 |  |  | with the | 
| 419 |  |  | .I \-d | 
| 420 |  |  | option on the input octree. | 
| 421 |  |  | A value of zero is interpreted as unlimited resolution. | 
| 422 |  |  | .TP | 
| 423 |  |  | .BI -aa \ acc | 
| 424 |  |  | Set the ambient accuracy to | 
| 425 |  |  | .I acc. | 
| 426 |  |  | This value will approximately equal the error | 
| 427 |  |  | from indirect illuminance interpolation. | 
| 428 |  |  | A value of zero implies no interpolation. | 
| 429 |  |  | .TP | 
| 430 |  |  | .BI -ad \ N | 
| 431 |  |  | Set the number of ambient divisions to | 
| 432 |  |  | .I N. | 
| 433 |  |  | The error in the Monte Carlo calculation of indirect | 
| 434 |  |  | illuminance will be inversely proportional to the square | 
| 435 |  |  | root of this number. | 
| 436 |  |  | A value of zero implies no indirect calculation. | 
| 437 |  |  | .TP | 
| 438 |  |  | .BI -as \ N | 
| 439 |  |  | Set the number of ambient super-samples to | 
| 440 |  |  | .I N. | 
| 441 |  |  | Super-samples are applied only to the ambient divisions which | 
| 442 |  |  | show a significant change. | 
| 443 |  |  | .TP | 
| 444 |  |  | .BI -af \ fname | 
| 445 |  |  | Set the ambient file to | 
| 446 |  |  | .I fname. | 
| 447 |  |  | This is where indirect illuminance will be stored and retrieved. | 
| 448 |  |  | Normally, indirect illuminance values are kept in memory and | 
| 449 |  |  | lost when the program finishes or dies. | 
| 450 |  |  | By using a file, different invocations can share illuminance | 
| 451 |  |  | values, saving time in the computation. | 
| 452 |  |  | Also, by creating an ambient file during a low resolution rendering, | 
| 453 |  |  | better results can be obtained in a second high resolution pass. | 
| 454 |  |  | The ambient file is in a machine-independent binary format | 
| 455 |  |  | which may be examined with | 
| 456 |  |  | .I lookamb(1). | 
| 457 |  |  | .IP | 
| 458 |  |  | The ambient file may also be used as a means of communication and | 
| 459 |  |  | data sharing between simultaneously executing processes. | 
| 460 |  |  | The same file may be used by multiple processes, possibly running on | 
| 461 |  |  | different machines and accessing the file via the network (ie. | 
| 462 |  |  | .I nfs(4)). | 
| 463 |  |  | The network lock manager | 
| 464 |  |  | .I lockd(8) | 
| 465 |  |  | is used to insure that this information is used consistently. | 
| 466 |  |  | .IP | 
| 467 |  |  | If any calculation parameters are changed or the scene | 
| 468 |  |  | is modified, the old ambient file should be removed so that | 
| 469 |  |  | the calculation can start over from scratch. | 
| 470 |  |  | For convenience, the original ambient parameters are listed in the | 
| 471 |  |  | header of the ambient file. | 
| 472 |  |  | .I Getinfo(1) | 
| 473 |  |  | may be used to print out this information. | 
| 474 |  |  | .TP | 
| 475 |  |  | .BI -ae \ mat | 
| 476 |  |  | Append | 
| 477 |  |  | .I mat | 
| 478 |  |  | to the ambient exclude list, | 
| 479 |  |  | so that it will not be considered during the indirect calculation. | 
| 480 |  |  | This is a hack for speeding the indirect computation by | 
| 481 |  |  | ignoring certain objects. | 
| 482 |  |  | Any object having | 
| 483 |  |  | .I mat | 
| 484 |  |  | as its modifier will get the default ambient | 
| 485 |  |  | level rather than a calculated value. | 
| 486 |  |  | Any number of excluded materials may be given, but each | 
| 487 |  |  | must appear in a separate option. | 
| 488 |  |  | .TP | 
| 489 |  |  | .BI -ai \ mat | 
| 490 |  |  | Add | 
| 491 |  |  | .I mat | 
| 492 |  |  | to the ambient include list, | 
| 493 |  |  | so that it will be considered during the indirect calculation. | 
| 494 |  |  | The program can use either an include list or an exclude | 
| 495 |  |  | list, but not both. | 
| 496 |  |  | .TP | 
| 497 |  |  | .BI -aE \ file | 
| 498 |  |  | Same as | 
| 499 |  |  | .I \-ae, | 
| 500 |  |  | except read materials to be excluded from | 
| 501 |  |  | .I file. | 
| 502 |  |  | The RAYPATH environment variable determines which directories are | 
| 503 |  |  | searched for this file. | 
| 504 |  |  | The material names are separated by white space in the file. | 
| 505 |  |  | .TP | 
| 506 |  |  | .BI -aI \ file | 
| 507 |  |  | Same as | 
| 508 |  |  | .I \-ai, | 
| 509 |  |  | except read materials to be included from | 
| 510 |  |  | .I file. | 
| 511 |  |  | .TP | 
| 512 |  |  | .BI -me " rext gext bext" | 
| 513 |  |  | Set the global medium extinction coefficient to the indicated color, | 
| 514 |  |  | in units of 1/distance (distance in world coordinates). | 
| 515 |  |  | Light will be scattered or absorbed over distance according to | 
| 516 |  |  | this value. | 
| 517 |  |  | The ratio of scattering to total scattering plus absorption is set | 
| 518 |  |  | by the albedo parameter, described below. | 
| 519 |  |  | .TP | 
| 520 |  |  | .BI -ma " ralb galb balb" | 
| 521 |  |  | Set the global medium albedo to the given value between 0\00\00 | 
| 522 |  |  | and 1\01\01. | 
| 523 |  |  | A zero value means that all light not transmitted by the medium | 
| 524 |  |  | is absorbed. | 
| 525 |  |  | A unitary value means that all light not transmitted by the medium | 
| 526 |  |  | is scattered in some new direction. | 
| 527 |  |  | The isotropy of scattering is determined by the Heyney-Greenstein | 
| 528 |  |  | parameter, described below. | 
| 529 |  |  | .TP | 
| 530 |  |  | .BI \-mg \ gecc | 
| 531 |  |  | Set the medium Heyney-Greenstein eccentricity parameter to | 
| 532 |  |  | .I gecc. | 
| 533 |  |  | This parameter determines how strongly scattering favors the forward | 
| 534 |  |  | direction. | 
| 535 |  |  | A value of 0 indicates perfectly isotropic scattering. | 
| 536 |  |  | As this parameter approaches 1, scattering tends to prefer the | 
| 537 |  |  | forward direction. | 
| 538 |  |  | .TP | 
| 539 |  |  | .BI \-ms \ sampdist | 
| 540 |  |  | Set the medium sampling distance to | 
| 541 |  |  | .I sampdist, | 
| 542 |  |  | in world coordinate units. | 
| 543 |  |  | During source scattering, this will be the average distance between | 
| 544 |  |  | adjacent samples. | 
| 545 |  |  | A value of 0 means that only one sample will be taken per light | 
| 546 |  |  | source within a given scattering volume. | 
| 547 |  |  | .TP | 
| 548 |  |  | .BR \-i | 
| 549 |  |  | Boolean switch to compute irradiance rather than radiance values. | 
| 550 |  |  | This only affects the final result, substituting a Lambertian | 
| 551 |  |  | surface and multiplying the radiance by pi. | 
| 552 |  |  | Glass and other transparent surfaces are ignored during this stage. | 
| 553 |  |  | Light sources still appear with their original radiance values, | 
| 554 |  |  | though the | 
| 555 |  |  | .I \-dv | 
| 556 |  |  | option (above) may be used to override this. | 
| 557 |  |  | .TP | 
| 558 |  |  | .BI -lr \ N | 
| 559 |  |  | Limit reflections to a maximum of | 
| 560 |  |  | .I N. | 
| 561 |  |  | .TP | 
| 562 |  |  | .BI -lw \ frac | 
| 563 |  |  | Limit the weight of each ray to a minimum of | 
| 564 |  |  | .I frac. | 
| 565 |  |  | During ray-tracing, a record is kept of the final contribution | 
| 566 |  |  | a ray would have to the image. | 
| 567 |  |  | If it is less then the specified minimum, the ray is not traced. | 
| 568 |  |  | .TP | 
| 569 |  |  | .BI -S \ seqstart | 
| 570 |  |  | Instead of generating a single picture based only on the view | 
| 571 |  |  | parameters given on the command line, this option causes | 
| 572 |  |  | .I rpict | 
| 573 |  |  | to read view options from the standard input and for each line | 
| 574 |  |  | containing a valid view specification, generate a corresponding | 
| 575 |  |  | picture. | 
| 576 |  |  | This option is most useful for generating animated sequences, though | 
| 577 |  |  | it may also be used to control rpict from a remote process for | 
| 578 |  |  | network-distributed rendering. | 
| 579 |  |  | .I Seqstart | 
| 580 |  |  | is a positive integer that will be associated with the first output | 
| 581 |  |  | frame, and incremented for successive output frames. | 
| 582 |  |  | By default, each frame is concatenated to the output stream, but it | 
| 583 |  |  | is possible to change this action using the | 
| 584 |  |  | .I \-o | 
| 585 |  |  | option (described below). | 
| 586 |  |  | Multiple frames may be later extracted from the output using | 
| 587 |  |  | .I ra_rgbe(1). | 
| 588 |  |  | .IP | 
| 589 |  |  | Note that the octree may not be read from the standard input when | 
| 590 |  |  | using this option. | 
| 591 |  |  | .TP | 
| 592 |  |  | .BI -o \ fspec | 
| 593 |  |  | Send the picture(s) to the file(s) given by | 
| 594 |  |  | .I fspec | 
| 595 |  |  | instead of the standard output. | 
| 596 |  |  | If this option is used in combination with | 
| 597 |  |  | .I \-S | 
| 598 |  |  | and | 
| 599 |  |  | .I fspec | 
| 600 |  |  | contains an integer field for | 
| 601 |  |  | .I printf(3) | 
| 602 |  |  | (eg. "%03d") then the actual output file name will include | 
| 603 |  |  | the current frame number. | 
| 604 |  |  | .I Rpict | 
| 605 |  |  | will not allow a picture file to be clobbered (overwritten) | 
| 606 |  |  | with this option. | 
| 607 |  |  | If an image in a sequence already exists | 
| 608 |  |  | .I (\-S | 
| 609 |  |  | option), | 
| 610 |  |  | .I rpict | 
| 611 |  |  | will skip until it reaches an image that doesn't, or the end of | 
| 612 |  |  | the sequence. | 
| 613 |  |  | This is useful for running rpict on multiple machines or processors | 
| 614 |  |  | to render the same sequence, as each process will skip to the next | 
| 615 |  |  | frame that needs rendering. | 
| 616 |  |  | .TP | 
| 617 |  |  | .BI -r \ fn | 
| 618 |  |  | Recover pixel information from the file | 
| 619 |  |  | .I fn. | 
| 620 |  |  | If the program gets killed during picture generation, the information | 
| 621 |  |  | may be recovered using this option. | 
| 622 |  |  | The view parameters and picture dimensions are also recovered from | 
| 623 |  |  | .I fn | 
| 624 |  |  | if possible. | 
| 625 |  |  | The other options should be identical to those which created | 
| 626 |  |  | .I fn, | 
| 627 |  |  | or an inconsistent picture may result. | 
| 628 |  |  | If | 
| 629 |  |  | .I fn | 
| 630 |  |  | is identical to the file specification given with the | 
| 631 |  |  | .I \-o | 
| 632 |  |  | option, | 
| 633 |  |  | .I rpict | 
| 634 |  |  | will rename the file prior to copying its contents. | 
| 635 |  |  | This insures that the old file is not overwritten accidentally. | 
| 636 |  |  | (See also the | 
| 637 |  |  | .I \-ro | 
| 638 |  |  | option, below.)\0 | 
| 639 |  |  | .IP | 
| 640 |  |  | If | 
| 641 |  |  | .I fn | 
| 642 |  |  | is an integer and the recover option is used in combination with the | 
| 643 |  |  | .I \-S | 
| 644 |  |  | option, then | 
| 645 |  |  | .I rpict | 
| 646 |  |  | skips a number of view specifications on its input equal to the | 
| 647 |  |  | difference between | 
| 648 |  |  | .I fn | 
| 649 |  |  | and | 
| 650 |  |  | .I seqstart. | 
| 651 |  |  | .I Rpict | 
| 652 |  |  | then performs a recovery operation on the file constructed from the | 
| 653 |  |  | frame number | 
| 654 |  |  | .I fn | 
| 655 |  |  | and the output file specification given with the | 
| 656 |  |  | .I \-o | 
| 657 |  |  | option. | 
| 658 |  |  | This provides a convenient mechanism for recovering in the middle of | 
| 659 |  |  | an aborted picture sequence. | 
| 660 |  |  | .IP | 
| 661 |  |  | The recovered file | 
| 662 |  |  | will be removed if the operation is successful. | 
| 663 |  |  | If the recover operation fails (due to lack of disk space) | 
| 664 |  |  | and the output file and recover file specifications | 
| 665 |  |  | are the same, then the original information may be left in a | 
| 666 |  |  | renamed temporary file. | 
| 667 |  |  | (See FILES section, below.)\0 | 
| 668 |  |  | .TP | 
| 669 |  |  | .BI -ro \ fspec | 
| 670 |  |  | This option causes pixel information to be recovered from and | 
| 671 |  |  | subsequently returned to the picture file | 
| 672 |  |  | .I fspec. | 
| 673 |  |  | The effect is the same as specifying identical recover and output | 
| 674 |  |  | file names with the | 
| 675 |  |  | .I \-r | 
| 676 |  |  | and | 
| 677 |  |  | .I \-o | 
| 678 |  |  | options. | 
| 679 |  |  | .TP | 
| 680 |  |  | .BI -z \ fspec | 
| 681 |  |  | Write pixel distances out to the file | 
| 682 |  |  | .I fspec. | 
| 683 |  |  | The values are written as short floats, one per pixel in scanline order, | 
| 684 |  |  | as required by | 
| 685 |  |  | .I pinterp(1). | 
| 686 |  |  | Similar to the | 
| 687 |  |  | .I \-o | 
| 688 |  |  | option, the actual file name will be constructed using | 
| 689 |  |  | .I printf | 
| 690 |  |  | and the frame number from the | 
| 691 |  |  | .I \-S | 
| 692 |  |  | option. | 
| 693 |  |  | If used with the | 
| 694 |  |  | .I \-r | 
| 695 |  |  | option, | 
| 696 |  |  | .I \-z | 
| 697 |  |  | also recovers information from an aborted rendering. | 
| 698 |  |  | .TP | 
| 699 |  |  | .BI \-P \ pfile | 
| 700 |  |  | Execute in a persistent mode, using | 
| 701 |  |  | .I pfile | 
| 702 |  |  | as the control file. | 
| 703 |  |  | This option must be used together with | 
| 704 |  |  | .I \-S, | 
| 705 |  |  | and is incompatible with the recover option | 
| 706 |  |  | .I (\-r). | 
| 707 |  |  | Persistent execution means that after reaching end-of-file on | 
| 708 |  |  | its input, | 
| 709 |  |  | .I rpict | 
| 710 |  |  | will fork a child process that will wait for another | 
| 711 |  |  | .I rpict | 
| 712 |  |  | command with the same | 
| 713 |  |  | .I \-P | 
| 714 |  |  | option to attach to it. | 
| 715 |  |  | (Note that since the rest of the command line options will be those | 
| 716 |  |  | of the original invocation, it is not necessary to give any arguments | 
| 717 |  |  | besides | 
| 718 |  |  | .I \-P | 
| 719 |  |  | for subsequent calls.) | 
| 720 |  |  | Killing the process is achieved with the | 
| 721 |  |  | .I kill(1) | 
| 722 |  |  | command. | 
| 723 |  |  | (The process ID in the first line of | 
| 724 |  |  | .I pfile | 
| 725 |  |  | may be used to identify the waiting | 
| 726 |  |  | .I rpict | 
| 727 |  |  | process.) | 
| 728 |  |  | This option may be less useful than the | 
| 729 |  |  | .I \-PP | 
| 730 |  |  | variation, explained below. | 
| 731 |  |  | .TP | 
| 732 |  |  | .BI \-PP \ pfile | 
| 733 |  |  | Execute in continuous-forking persistent mode, using | 
| 734 |  |  | .I pfile | 
| 735 |  |  | as the control file. | 
| 736 |  |  | The difference between this option and the | 
| 737 |  |  | .I \-P | 
| 738 |  |  | option described above is the creation of multiple duplicate | 
| 739 |  |  | processes to handle any number of attaches. | 
| 740 |  |  | This provides a simple and reliable mechanism of memory sharing | 
| 741 |  |  | on most multiprocessing platforms, since the | 
| 742 |  |  | .I fork(2) | 
| 743 |  |  | system call will share memory on a copy-on-write basis. | 
| 744 |  |  | This option may be used with | 
| 745 |  |  | .I rpiece(1) | 
| 746 |  |  | to efficiently render a single image using multiple processors | 
| 747 |  |  | on the same host. | 
| 748 |  |  | .TP | 
| 749 |  |  | .BI -t \ sec | 
| 750 |  |  | Set the time between progress reports to | 
| 751 |  |  | .I sec. | 
| 752 |  |  | A progress report writes the number of rays traced, the percentage | 
| 753 |  |  | completed, and the CPU usage to the standard error. | 
| 754 |  |  | Reports are given either automatically after the specified interval, | 
| 755 |  |  | or when the process receives a continue (-CONT) signal (see | 
| 756 |  |  | .I kill(1)). | 
| 757 |  |  | A value of zero turns automatic reporting off. | 
| 758 |  |  | .TP | 
| 759 |  |  | .BI -e \ efile | 
| 760 |  |  | Send error messages and progress reports to | 
| 761 |  |  | .I efile | 
| 762 |  |  | instead of the standard error. | 
| 763 |  |  | .TP | 
| 764 |  |  | .BR \-w | 
| 765 |  |  | Boolean switch for warning messages. | 
| 766 |  |  | The default is to print warnings, so the first appearance of | 
| 767 |  |  | this option turns them off. | 
| 768 |  |  | .SH EXAMPLE | 
| 769 |  |  | rpict -vp 10 5 3 -vd 1 -.5 0 scene.oct > scene.pic | 
| 770 |  |  | .PP | 
| 771 |  |  | rpict -S 1 -o frame%02d.pic scene.oct < keyframes.vf | 
| 772 |  |  | .SH ENVIRONMENT | 
| 773 |  |  | RAYPATH         the directories to check for auxiliary files. | 
| 774 |  |  | .SH FILES | 
| 775 |  |  | /usr/tmp/rtXXXXXX               common header information for picture sequence | 
| 776 |  |  | .br | 
| 777 |  |  | rfXXXXXX                temporary name for recover file | 
| 778 |  |  | .SH DIAGNOSTICS | 
| 779 |  |  | If the program terminates from an input related error, the exit status | 
| 780 |  |  | will be 1. | 
| 781 |  |  | A system related error results in an exit status of 2. | 
| 782 |  |  | If the program receives a signal that is caught, it will exit with a status | 
| 783 |  |  | of 3. | 
| 784 |  |  | In each case, an error message will be printed to the standard error, or | 
| 785 |  |  | to the file designated by the | 
| 786 |  |  | .I \-e | 
| 787 |  |  | option. | 
| 788 |  |  | .SH AUTHOR | 
| 789 |  |  | Greg Ward | 
| 790 |  |  | .SH "SEE ALSO" | 
| 791 | greg | 1.4 | getinfo(1), lookamb(1), oconv(1), pdfblur(1), pfilt(1), pinterp(1), pmblur(1), | 
| 792 | greg | 1.3 | printf(3), ra_rgbe(1), rad(1), rtrace(1), rvu(1) |