| 1 |
greg |
1.2 |
.\" RCSid "$Id$" |
| 2 |
greg |
1.1 |
.TH RANIMATE 1 6/24/98 RADIANCE |
| 3 |
|
|
.SH NAME |
| 4 |
|
|
ranimate - compute a RADIANCE animation |
| 5 |
|
|
.SH SYNOPSIS |
| 6 |
|
|
.B ranimate |
| 7 |
|
|
[ |
| 8 |
|
|
.B \-s |
| 9 |
|
|
][ |
| 10 |
|
|
.B \-n |
| 11 |
|
|
][ |
| 12 |
|
|
.B \-e |
| 13 |
|
|
][ |
| 14 |
|
|
.B \-w |
| 15 |
|
|
] |
| 16 |
|
|
.B ranfile |
| 17 |
|
|
.SH DESCRIPTION |
| 18 |
|
|
.I Ranimate |
| 19 |
|
|
is an executive program that reads the given |
| 20 |
|
|
.I ranfile |
| 21 |
|
|
and makes appropriate calls to |
| 22 |
|
|
.I rad(1), |
| 23 |
|
|
.I rpict(1), |
| 24 |
|
|
.I pinterp(1), |
| 25 |
|
|
and/or |
| 26 |
|
|
.I pfilt(1) |
| 27 |
|
|
to render an animation. |
| 28 |
|
|
Variables in |
| 29 |
|
|
.I ranfile |
| 30 |
|
|
indicate input files, process servers (execution hosts), output |
| 31 |
|
|
directories and file names, and various other controls and options. |
| 32 |
|
|
.PP |
| 33 |
|
|
Normally, commands are echoed to the standard output as they are |
| 34 |
|
|
executed. |
| 35 |
|
|
The |
| 36 |
|
|
.I \-s |
| 37 |
|
|
option tells |
| 38 |
|
|
.I ranimate |
| 39 |
|
|
to do its work silently. |
| 40 |
|
|
The |
| 41 |
|
|
.I \-n |
| 42 |
|
|
option tells |
| 43 |
|
|
.I ranimate |
| 44 |
|
|
not to take any action (ie. not to actually execute any commands). |
| 45 |
|
|
The |
| 46 |
|
|
.I \-e |
| 47 |
|
|
option tells |
| 48 |
|
|
.I ranimate |
| 49 |
|
|
to explicate all variables used for the animation, including |
| 50 |
|
|
default values not specified in the input file, and print them on |
| 51 |
|
|
the standard output. |
| 52 |
|
|
.PP |
| 53 |
|
|
The |
| 54 |
|
|
.I \-w |
| 55 |
|
|
option turns off warnings about multiply and misassigned variables. |
| 56 |
|
|
.PP |
| 57 |
|
|
Normally, |
| 58 |
|
|
.I ranimate |
| 59 |
|
|
will produce one animation frame for each view given in the specified |
| 60 |
|
|
view file. |
| 61 |
|
|
If an animation has ended or been killed in an incomplete state, however, |
| 62 |
|
|
.I ranimate |
| 63 |
|
|
will attempt to pick up where the earlier process left off. |
| 64 |
|
|
If the process is still running, or was started on another machine, |
| 65 |
|
|
.I ranimate |
| 66 |
|
|
will report this information and exit. |
| 67 |
|
|
.PP |
| 68 |
|
|
Animation variable assignments appear one per line in |
| 69 |
|
|
.I ranfile. |
| 70 |
|
|
The name of the variable is followed by an equals sign |
| 71 |
|
|
('=') and its value(s). |
| 72 |
|
|
The end of line may be escaped with a backslash ('\\'), though it is |
| 73 |
|
|
not usually necessary since additional variable values may be given |
| 74 |
|
|
in multiple assignments. |
| 75 |
|
|
Variables that should have only one value are given in upper case. |
| 76 |
|
|
Variables that may have multiple values are given in lower case. |
| 77 |
|
|
Variables may be abbreviated by their first three letters, except |
| 78 |
|
|
for "host", which must have all four. |
| 79 |
|
|
Comments in |
| 80 |
|
|
.I ranfile |
| 81 |
|
|
start with a pound sign ('#') and proceed to the end of line. |
| 82 |
|
|
.PP |
| 83 |
|
|
The animation variables, their interpretations and default values |
| 84 |
|
|
are given below. |
| 85 |
|
|
.TP 10n |
| 86 |
|
|
.BR DIRECTORY |
| 87 |
|
|
The name of the animation directory. |
| 88 |
|
|
All temporary files generated during the animation will be placed in |
| 89 |
|
|
this directory, which will be created by |
| 90 |
|
|
.I ranimate |
| 91 |
|
|
if it does not exist. |
| 92 |
|
|
A file named "STATUS" will also be created there, and will contain current |
| 93 |
|
|
information about the animation process. |
| 94 |
|
|
This variable has no default value, and its setting is required. |
| 95 |
|
|
.TP |
| 96 |
|
|
.BR OCTREE |
| 97 |
|
|
The name of the octree file for a static scene walk-through |
| 98 |
|
|
animation. |
| 99 |
|
|
There is no default value for this variable, and any |
| 100 |
|
|
setting will be ignored if the |
| 101 |
|
|
.I ANIMATE |
| 102 |
|
|
variable is also set (see below). |
| 103 |
|
|
.TP |
| 104 |
|
|
.BR ANIMATE |
| 105 |
|
|
The scene generation command for a dynamic animation. |
| 106 |
|
|
This command, if given, will be executed with the frame number as the |
| 107 |
|
|
final argument, and on its standard output it must produce |
| 108 |
|
|
the complete octree for that frame. |
| 109 |
|
|
Care must be taken that this command does not create any temporary files |
| 110 |
|
|
that might collide with same-named files created by other |
| 111 |
|
|
animation commands running in parallel. |
| 112 |
|
|
Also, the command should produce no output to the standard error, unless |
| 113 |
|
|
there is a fatal condition. |
| 114 |
|
|
(I.e., switch all warnings off; |
| 115 |
|
|
see the BUGS section, below.)\0 |
| 116 |
|
|
There is no default animation command, and either this variable or the |
| 117 |
|
|
.I OCTREE |
| 118 |
|
|
variable must be set. |
| 119 |
|
|
.TP |
| 120 |
|
|
.BR VIEWFILE |
| 121 |
|
|
This variable names a file from which |
| 122 |
|
|
.I ranimate |
| 123 |
|
|
may extract the view for each frame in the animation. |
| 124 |
|
|
This file should contain one valid view per frame, starting with |
| 125 |
|
|
frame 1 on line 1, regardless of the setting of the |
| 126 |
|
|
.I START |
| 127 |
|
|
variable. |
| 128 |
|
|
An exception is made for a view file with only a single view, which |
| 129 |
|
|
is used for every frame of a dynamic scene animation. |
| 130 |
|
|
This variable is required, and there is no default value. |
| 131 |
|
|
.TP |
| 132 |
|
|
.BR START |
| 133 |
|
|
The initial frame number in this animation sequence. |
| 134 |
|
|
The minimum value is 1, and if a later starting frame is given, |
| 135 |
|
|
.I ranimate |
| 136 |
|
|
assumes that the earlier frames are included in some other |
| 137 |
|
|
.I ranfile, |
| 138 |
|
|
which has been previously executed. |
| 139 |
|
|
(See the |
| 140 |
|
|
.I NEXTANIM |
| 141 |
|
|
variable, below.)\0 |
| 142 |
|
|
The default value is 1. |
| 143 |
|
|
.TP |
| 144 |
|
|
.BR END |
| 145 |
|
|
The final frame number in this sequence. |
| 146 |
|
|
The minimum value is equal to the |
| 147 |
|
|
.I START |
| 148 |
|
|
frame, |
| 149 |
|
|
and the default value is computed from the number of views in the |
| 150 |
|
|
given |
| 151 |
|
|
.I VIEWFILE. |
| 152 |
|
|
.TP |
| 153 |
|
|
.BR EXPOSURE |
| 154 |
|
|
This variable tells |
| 155 |
|
|
.I ranimate |
| 156 |
|
|
how to adjust the exposure for each frame. |
| 157 |
|
|
As in |
| 158 |
|
|
.I pfilt, |
| 159 |
|
|
the exposure setting may be given either as a multiplier or as a |
| 160 |
|
|
number of f-stop adjustments (eg. +2 or -1.5). |
| 161 |
|
|
Alternatively, a file name may be given, which |
| 162 |
|
|
.I ranimate |
| 163 |
|
|
will interpret as having one exposure value per line per frame, |
| 164 |
|
|
beginning with frame 1 at line 1. |
| 165 |
|
|
(See also the |
| 166 |
|
|
.I VIEWFILE |
| 167 |
|
|
variable, above.)\0 |
| 168 |
|
|
There is no default value for this variable. |
| 169 |
|
|
If it is not given, an average level will be computed by |
| 170 |
|
|
.I pfilt |
| 171 |
|
|
for each frame. |
| 172 |
|
|
.TP |
| 173 |
|
|
.BR BASENAME |
| 174 |
|
|
The base output file name for the final frames. |
| 175 |
|
|
This string will be passed to the |
| 176 |
|
|
.I \-o |
| 177 |
|
|
and |
| 178 |
|
|
.I \-z |
| 179 |
|
|
options of rpict, along with appropriate suffixes, |
| 180 |
|
|
and thus should contain a |
| 181 |
|
|
.I printf(3) |
| 182 |
|
|
style integer field to distinguish one frame number from another. |
| 183 |
|
|
The final frames will use this name with a ".pic" suffix. |
| 184 |
|
|
The default value is the assigned |
| 185 |
|
|
.I DIRECTORY |
| 186 |
|
|
followed by "/frame%03d". |
| 187 |
|
|
.TP |
| 188 |
|
|
.BR host |
| 189 |
|
|
A host to use for command execution. |
| 190 |
|
|
This variable may be assigned a host name, followed by an optional |
| 191 |
|
|
number of parallel processes, followed by an optional |
| 192 |
|
|
directory (relative to the user's home directory on that machine), |
| 193 |
|
|
followed by an alternate user name. |
| 194 |
|
|
Multiple |
| 195 |
|
|
.I host |
| 196 |
|
|
assignments may appear. |
| 197 |
|
|
It is not advisable to specify more than one process on a single-CPU |
| 198 |
|
|
host, as this just tends to slow things down. |
| 199 |
|
|
The default value is "localhost", which starts a single process in |
| 200 |
|
|
the current directory of the local machine. |
| 201 |
|
|
.TP |
| 202 |
|
|
.BR RIF |
| 203 |
|
|
This variable specifies a |
| 204 |
|
|
.I rad |
| 205 |
|
|
input file to use as a source of rendering options and other |
| 206 |
|
|
variable settings. |
| 207 |
|
|
If given, |
| 208 |
|
|
.I ranimate |
| 209 |
|
|
will execute |
| 210 |
|
|
.I rad |
| 211 |
|
|
and create an options file to later pass to |
| 212 |
|
|
.I rpict |
| 213 |
|
|
or |
| 214 |
|
|
.I rtrace. |
| 215 |
|
|
Besides prepending the |
| 216 |
|
|
.I render |
| 217 |
|
|
variable, |
| 218 |
|
|
.I ranimate |
| 219 |
|
|
will also extract default settings for the common variables: |
| 220 |
|
|
.I OCTREE, |
| 221 |
|
|
.I RESOLUTION, |
| 222 |
|
|
.I EXPOSURE |
| 223 |
|
|
and |
| 224 |
|
|
.I pfilt. |
| 225 |
|
|
Following the file name, overriding variable settings may be given, |
| 226 |
|
|
which will be passed to |
| 227 |
|
|
.I rad |
| 228 |
|
|
on the command line. |
| 229 |
|
|
Settings with spaces in them should be enclosed in quotes. |
| 230 |
|
|
The execution of |
| 231 |
|
|
.I rad |
| 232 |
|
|
will also update the contents of the octree, if necessary. |
| 233 |
|
|
There is no default value for this variable. |
| 234 |
|
|
.TP |
| 235 |
|
|
.BR DISKSPACE |
| 236 |
|
|
Specify the amount of disk space (in megabytes) available on the |
| 237 |
|
|
destination file system for temporary file storage. |
| 238 |
|
|
.I Ranimate |
| 239 |
|
|
will coordinate its batch operations based on this amount of storage, |
| 240 |
|
|
assuming that there is either enough additional space for all the |
| 241 |
|
|
final frames, or that the given |
| 242 |
|
|
.I TRANSFER |
| 243 |
|
|
command will move the finished frames to some other location (see |
| 244 |
|
|
below). |
| 245 |
|
|
The default value is 100 megabytes. |
| 246 |
|
|
.TP |
| 247 |
|
|
.BR ARCHIVE |
| 248 |
|
|
After each batch rendering is finished and checked for completeness, |
| 249 |
|
|
.I ranimate |
| 250 |
|
|
will execute the given command, passing the names of all the |
| 251 |
|
|
original pictures and z-buffer files generated by |
| 252 |
|
|
.I rpict. |
| 253 |
|
|
(The command is executed in the destination directory, and file names |
| 254 |
|
|
will be simple.)\0 |
| 255 |
|
|
Normally, the archive command copies the original files to a tape device |
| 256 |
|
|
or somewhere that they can be retrieved in the event of failure in |
| 257 |
|
|
the frame interpolation stages. |
| 258 |
|
|
After the archive command has successfully completed, the original |
| 259 |
|
|
renderings are removed. |
| 260 |
|
|
There is no default value for this variable, meaning that the |
| 261 |
|
|
original unfiltered frames will simply be removed. |
| 262 |
|
|
Note that the last one or two rendered frames may not be copied, archived |
| 263 |
|
|
or removed in case there is a another sequence picking up where this |
| 264 |
|
|
one left off. |
| 265 |
|
|
.TP |
| 266 |
|
|
.BR TRANSFER |
| 267 |
|
|
The command to transfer the completed animation frames. |
| 268 |
|
|
The shell changes to the destination directory and appends |
| 269 |
|
|
the names of all the finished frames to this command |
| 270 |
|
|
before it is executed. |
| 271 |
|
|
Normally, the transfer command does something such as convert the |
| 272 |
|
|
frames to another format and/or copy them to tape or some other |
| 273 |
|
|
destination device before removing them. |
| 274 |
|
|
If this variable is not given, the final frames are left where they |
| 275 |
|
|
are. |
| 276 |
|
|
(See |
| 277 |
|
|
.I BASENAME, |
| 278 |
|
|
above.)\0 |
| 279 |
|
|
.TP |
| 280 |
|
|
.BR RSH |
| 281 |
|
|
The command to use instead of |
| 282 |
|
|
.I rsh(1) |
| 283 |
|
|
to execute commands remotely on another machine. |
| 284 |
|
|
The arguments and behavior of this program must be identical to the UNIX |
| 285 |
|
|
.I rsh |
| 286 |
|
|
command, except that the |
| 287 |
|
|
.I -l |
| 288 |
|
|
option will always be used to specify an alternate user name rather than the |
| 289 |
|
|
.I "user@host" |
| 290 |
|
|
convention. |
| 291 |
|
|
Th |
| 292 |
|
|
.I -l |
| 293 |
|
|
option may or may not appear, but the |
| 294 |
|
|
.I -n |
| 295 |
|
|
option will always be used, and the expected starting directory will |
| 296 |
|
|
be that of the remote user, just as with |
| 297 |
|
|
.I rsh. |
| 298 |
|
|
.TP |
| 299 |
|
|
.BR NEXTANIM |
| 300 |
|
|
This variable specifies the next |
| 301 |
|
|
.I ranfile |
| 302 |
|
|
to use after this sequence is completed. |
| 303 |
|
|
This offers a convenient means to continue an animation that |
| 304 |
|
|
requires different control options in different segments. |
| 305 |
|
|
It is important in this case to correctly set the |
| 306 |
|
|
.I START |
| 307 |
|
|
and |
| 308 |
|
|
.I END |
| 309 |
|
|
variables in each |
| 310 |
|
|
.I ranfile |
| 311 |
|
|
so that the segments do not overlap frames. |
| 312 |
|
|
.TP |
| 313 |
|
|
.BR OVERSAMPLE |
| 314 |
|
|
This variable sets the multiplier of the original image size |
| 315 |
|
|
relative to the final size given by the |
| 316 |
|
|
.I RESOLUTION |
| 317 |
|
|
variable. |
| 318 |
|
|
This determines the quality of anti-aliasing in the final frames. |
| 319 |
|
|
A value of 1 means no anti-aliasing, and a value of 3 produces very |
| 320 |
|
|
good anti-aliasing. |
| 321 |
|
|
The default value is 2. |
| 322 |
|
|
(A fractional value may be used for previews, causing low |
| 323 |
|
|
resolution frames with large, blocky pixels to be produced.)\0 |
| 324 |
|
|
.TP |
| 325 |
|
|
.BR INTERPOLATE |
| 326 |
|
|
This variable sets the number of frames to interpolate between each |
| 327 |
|
|
rendered frame in a static scene walk-through. |
| 328 |
|
|
Z-buffers for each rendered frame will be generated by |
| 329 |
|
|
.I rpict, |
| 330 |
|
|
and |
| 331 |
|
|
.I pinterp |
| 332 |
|
|
will be called to perform the actual "tweening." |
| 333 |
|
|
This results in a potentially large savings in rendering time, but |
| 334 |
|
|
should be used with caution since certain information may be lost or |
| 335 |
|
|
inaccurate, such as specular highlights and reflections, and objects |
| 336 |
|
|
may even break apart if too few renderings are used to interpolate |
| 337 |
|
|
too much motion. |
| 338 |
|
|
The default value for this variable is 0, meaning no interpolation. |
| 339 |
|
|
Interpolation is also switched off if the |
| 340 |
|
|
.I ANIMATE |
| 341 |
|
|
variable is specified. |
| 342 |
|
|
.TP |
| 343 |
|
|
.BR MBLUR |
| 344 |
|
|
This variable specifies the fraction of a frame time that the shutter |
| 345 |
|
|
is simulated as being open for motion blur. |
| 346 |
|
|
A number of samples may be given as a second argument, which |
| 347 |
|
|
controls the number of additional frames computed and averaged |
| 348 |
|
|
together by |
| 349 |
|
|
.I pinterp. |
| 350 |
|
|
If this number is less than 2, then bluring is performed by |
| 351 |
|
|
.I rpict |
| 352 |
|
|
only, resulting in greater noise than the combination of |
| 353 |
|
|
.I rpict |
| 354 |
|
|
and |
| 355 |
|
|
.I pinterp used otherwise. |
| 356 |
|
|
(The default value for number of samples is 5.)\0 |
| 357 |
|
|
The |
| 358 |
|
|
.I pmblur(1) |
| 359 |
|
|
command is used to generate the given number of additional views for |
| 360 |
|
|
.I pinterp |
| 361 |
|
|
to average together. |
| 362 |
|
|
The default value is 0, meaning no motion blurring. |
| 363 |
|
|
This option does not currently work with the |
| 364 |
|
|
.I ANIMATE |
| 365 |
|
|
variable, since pinterp only works for static environments. |
| 366 |
|
|
.TP |
| 367 |
|
|
.BR RTRACE |
| 368 |
|
|
This boolean variable tells |
| 369 |
|
|
.I ranimate |
| 370 |
|
|
whether or not to employ |
| 371 |
|
|
.I rtrace |
| 372 |
|
|
during frame interpolation using the |
| 373 |
|
|
.I \-fr |
| 374 |
|
|
option to |
| 375 |
|
|
.I pinterp. |
| 376 |
|
|
If set to True, then the same rendering options and static octree |
| 377 |
|
|
are passed to |
| 378 |
|
|
.I rtrace |
| 379 |
|
|
as are normally used by |
| 380 |
|
|
.I rpict. |
| 381 |
|
|
The default value is False. |
| 382 |
|
|
Note that this variable only applies to static environment |
| 383 |
|
|
walk-throughs (i.e., no |
| 384 |
|
|
.I ANIMATE |
| 385 |
|
|
command). |
| 386 |
|
|
.TP |
| 387 |
|
|
.BR RESOLUTION |
| 388 |
|
|
This variable specifies the desired final picture resolution. |
| 389 |
|
|
If only a single number is given, this value will be used for both |
| 390 |
|
|
the horizontal and vertical picture dimensions. |
| 391 |
|
|
If two numbers are given, the first is the horizontal resolution and |
| 392 |
|
|
the second is the vertical resolution. |
| 393 |
|
|
If three numbers are given, the third is taken as the pixel aspect |
| 394 |
|
|
ratio for the final picture (a real value). |
| 395 |
|
|
If the pixel aspect ratio is zero, the exact dimensions given will |
| 396 |
|
|
be those produced. |
| 397 |
|
|
Otherwise, they will be used as a frame in which the final image |
| 398 |
|
|
must fit. |
| 399 |
|
|
The default value for this variable is 640. |
| 400 |
|
|
.TP |
| 401 |
|
|
.BR render |
| 402 |
|
|
This variable may be used to specify additional options to |
| 403 |
|
|
.I rpict |
| 404 |
|
|
or |
| 405 |
|
|
.I rtrace. |
| 406 |
|
|
These options will appear after the options set automatically by |
| 407 |
|
|
.I rad, |
| 408 |
|
|
and thus will override the default values. |
| 409 |
|
|
.TP |
| 410 |
|
|
.BR pinterp |
| 411 |
|
|
This variable may be used to specify additional options to |
| 412 |
|
|
.I pinterp, |
| 413 |
|
|
which is used to interpolate frames for a static scene walk-through. |
| 414 |
|
|
(See the |
| 415 |
|
|
.I pinterp |
| 416 |
|
|
man page, and the |
| 417 |
|
|
.I INTERPOLATE |
| 418 |
|
|
variable.)\0 |
| 419 |
|
|
Do not use this variable to set the |
| 420 |
|
|
.I pinterp |
| 421 |
|
|
.I \-fr |
| 422 |
|
|
option, but use the |
| 423 |
|
|
.I RTRACE |
| 424 |
|
|
setting instead. |
| 425 |
|
|
.TP |
| 426 |
|
|
.BR pfilt |
| 427 |
|
|
This variable may be used to specify additional options to |
| 428 |
|
|
.I pfilt. |
| 429 |
|
|
If this variable is given in the |
| 430 |
|
|
.I ranfile, |
| 431 |
|
|
then |
| 432 |
|
|
.I pfilt |
| 433 |
|
|
will always be used. |
| 434 |
|
|
(Normally, |
| 435 |
|
|
.I pfilt |
| 436 |
|
|
is called only if |
| 437 |
|
|
.I pinterp |
| 438 |
|
|
is not needed or automatic exposure is required.)\0 |
| 439 |
|
|
See the |
| 440 |
|
|
.I pfilt |
| 441 |
|
|
manual page for details. |
| 442 |
|
|
.SH EXAMPLES |
| 443 |
|
|
A minimal input file for |
| 444 |
|
|
.I ranimate |
| 445 |
|
|
might look like this: |
| 446 |
|
|
.IP "" .3i |
| 447 |
|
|
.nf |
| 448 |
|
|
:::::::::: |
| 449 |
|
|
sample.ran |
| 450 |
|
|
:::::::::: |
| 451 |
|
|
# The rad input file for our static scene: |
| 452 |
|
|
RIF= tutor.rif |
| 453 |
|
|
# The spool directory: |
| 454 |
|
|
DIRECTORY= anim1 |
| 455 |
|
|
# The view file containing one view per frame: |
| 456 |
|
|
VIEWFILE= anim1.vf |
| 457 |
|
|
# The amount of temporary disk space available: |
| 458 |
|
|
DISKSPACE= 50 # megabytes |
| 459 |
|
|
.fi |
| 460 |
|
|
.PP |
| 461 |
|
|
Note that most of the variables are not set in this file. |
| 462 |
|
|
If we only want to see what default values |
| 463 |
|
|
.I ranimate |
| 464 |
|
|
would use without actually executing anything, we can invoke it |
| 465 |
|
|
thus: |
| 466 |
|
|
.IP "" .2i |
| 467 |
|
|
ranimate -n -e sample.ran |
| 468 |
|
|
.PP |
| 469 |
|
|
This will print the variables we have given as well as default |
| 470 |
|
|
values |
| 471 |
|
|
.I ranimate |
| 472 |
|
|
has assigned for us. |
| 473 |
|
|
Also, we will see the list of commands that |
| 474 |
|
|
.I ranimate |
| 475 |
|
|
would have executed had the |
| 476 |
|
|
.I \-n |
| 477 |
|
|
option not been present. |
| 478 |
|
|
.PP |
| 479 |
|
|
Usually, we execute |
| 480 |
|
|
.I ranimate |
| 481 |
|
|
in the background, redirecting the standard output and standard |
| 482 |
|
|
error to a file: |
| 483 |
|
|
.IP "" .2i |
| 484 |
|
|
ranimate sample.ran >& sample.err & |
| 485 |
|
|
.PP |
| 486 |
|
|
If we decide that the default values |
| 487 |
|
|
.I ranimate |
| 488 |
|
|
has chosen for our variables are not all appropriate, we can add |
| 489 |
|
|
some more assignments to the file: |
| 490 |
|
|
.IP "" .3i |
| 491 |
|
|
.nf |
| 492 |
|
|
host= rays 3 ~greg/obj/tutor ray # execute as ray on multi-host "rays" |
| 493 |
|
|
host= thishost # execute one copy on this host also |
| 494 |
|
|
INTERP= 3 # render every fourth frame |
| 495 |
|
|
RES= 1024 # shoot for 1024x resolution |
| 496 |
|
|
MBLUR= .25 # apply camera motion blur |
| 497 |
|
|
EXP= anim1.exp # adjust exposure according to file |
| 498 |
|
|
pfilt= -r .9 # use Gaussian filtering |
| 499 |
|
|
ARCHIVE= tar cf /dev/nrtape # save original renderings to tape |
| 500 |
|
|
.fi |
| 501 |
|
|
.PP |
| 502 |
|
|
Note the use of abbreviation for variable names. |
| 503 |
|
|
.SH FILES |
| 504 |
|
|
$(DIRECTORY)/STATUS animation status file |
| 505 |
|
|
$(DIRECTORY)/* other temporary files |
| 506 |
|
|
$(BASENAME).pic final animation frames |
| 507 |
|
|
.SH AUTHOR |
| 508 |
|
|
Greg Ward |
| 509 |
|
|
.SH BUGS |
| 510 |
|
|
Due to the difficulty of controlling processes on multiple execution |
| 511 |
|
|
hosts, the |
| 512 |
|
|
.I \-n |
| 513 |
|
|
option of |
| 514 |
|
|
.I ranimate |
| 515 |
|
|
is not useful in the same way as |
| 516 |
|
|
.I rad |
| 517 |
|
|
for generating a script of executable commands to render the |
| 518 |
|
|
sequence. |
| 519 |
|
|
It may give an idea of the sequence of events, but certain temporary |
| 520 |
|
|
files and so forth will not be in the correct state if the user |
| 521 |
|
|
attempts to create a separate batch script. |
| 522 |
|
|
.PP |
| 523 |
|
|
If multiple processors are available on a given host and the |
| 524 |
|
|
.I RTRACE |
| 525 |
|
|
variable is set to True, then the |
| 526 |
|
|
.I \-PP |
| 527 |
|
|
option of |
| 528 |
|
|
.I rtrace |
| 529 |
|
|
should be employed, but it is not. |
| 530 |
|
|
There is no easy way around this problem, but it has only minor |
| 531 |
|
|
consequences in most cases. |
| 532 |
|
|
(The |
| 533 |
|
|
.I \-PP |
| 534 |
|
|
option is used for |
| 535 |
|
|
.I rpict, |
| 536 |
|
|
however.)\0 |
| 537 |
|
|
.I |
| 538 |
|
|
.PP |
| 539 |
|
|
The current implementation of the remote shell does not return the |
| 540 |
|
|
exit status of the remote process, which makes it difficult to |
| 541 |
|
|
determine for sure if there has been a serious error or not. |
| 542 |
|
|
Because of this, |
| 543 |
|
|
.I ranimate |
| 544 |
|
|
normally turns off warnings on all rendering processes, and takes |
| 545 |
|
|
any output to standard error from a remote command as a sign that a |
| 546 |
|
|
fatal error has occurred. |
| 547 |
|
|
(This also precludes the use of the |
| 548 |
|
|
.I \-t |
| 549 |
|
|
option to report rendering progress.)\0 |
| 550 |
|
|
If the error was caused by a process server going down, the server |
| 551 |
|
|
is removed from the active list and frame recovery takes place. |
| 552 |
|
|
Otherwise, |
| 553 |
|
|
.I ranimate |
| 554 |
|
|
quits at that point in the animation. |
| 555 |
|
|
.PP |
| 556 |
|
|
The current execution environment, in particular the RAYPATH variable, |
| 557 |
|
|
will not be passed during remote command execution, so it is necessary |
| 558 |
|
|
to set whatever variables are important in the remote startup script |
| 559 |
|
|
(e.g., ".cshrc" for the C-shell). |
| 560 |
|
|
This requirement may be circumvented by substituting the |
| 561 |
|
|
.I on(1) |
| 562 |
|
|
command for |
| 563 |
|
|
.I rsh(1) |
| 564 |
|
|
using the |
| 565 |
|
|
.I RSH |
| 566 |
|
|
control variable, or by writing a custom remote execution script. |
| 567 |
|
|
.PP |
| 568 |
|
|
If a different remote user name is used, |
| 569 |
|
|
.I ranimate |
| 570 |
|
|
first attempts to change to the original user's directory with a |
| 571 |
|
|
command of the form |
| 572 |
|
|
.I "cd \~uname". |
| 573 |
|
|
This works under |
| 574 |
|
|
.I csh(1), |
| 575 |
|
|
but may fail under other shells such as |
| 576 |
|
|
.I sh(1). |
| 577 |
|
|
.PP |
| 578 |
|
|
If multiple hosts with different floating point formats are used, |
| 579 |
|
|
.I pinterp |
| 580 |
|
|
will fail because the Z-buffer files will be inconsistent. |
| 581 |
|
|
(Recall that |
| 582 |
|
|
.I pinterp |
| 583 |
|
|
is called if INTERPOLATE > 0 and/or MBLUR is assigned.)\0 |
| 584 |
|
|
Since most modern machines use IEEE floating point, this is not |
| 585 |
|
|
usually a problem, but it is something to keep in mind. |
| 586 |
|
|
.SH "SEE ALSO" |
| 587 |
|
|
pfilt(1), pinterp(1), pmblur(1), rad(1), |
| 588 |
|
|
ranimove(1), rpict(1), rsh(1), rtrace(1) |