ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/man/man1/ranimove.1
Revision: 1.1
Committed: Tue Mar 11 19:20:21 2003 UTC (21 years, 2 months ago) by greg
Branch: MAIN
Log Message:
Added documentation to repository

File Contents

# Content
1 .\" RCSid "$Id"
2 .SH NAME
3 ranimove - render a RADIANCE animation with motion
4 .SH SYNOPSIS
5 .B ranimove
6 [
7 .B \-s
8 ][
9 .B \-e
10 ][
11 .B \-w
12 ][
13 .B "\-f beg,end"
14 ][
15 .B "\-n nprocs"
16 ][
17 .B "\-t sec"
18 ][
19 .B "\-d jnd"
20 ]
21 .B rnmfile
22 .SH DESCRIPTION
23 .I Ranimove
24 is a program for progressive animation rendering.
25 Variables in the given
26 .I rnmfile
27 indicate input files, output file names,
28 and various other controls and options.
29 .PP
30 Normally, progress reports are written to the standard output, but the
31 .I \-s
32 option tells
33 .I ranimove
34 to do its work silently.
35 The
36 .I \-e
37 option tells
38 .I ranimove
39 to explicate all variables used for the animation, including
40 default values not specified in the input file, and print them on
41 the standard output.
42 The
43 .I \-w
44 option turns off warnings about multiply and misassigned variables and
45 non-fatal rendering problems.
46 .PP
47 Normally,
48 .I ranimove
49 will produce one animation frame for each view given in the specified
50 view file.
51 If the
52 .I \-f
53 option is specified, the animation will resume at the given frame, and
54 continue to the end of the sequence, or to the second frame if one is given
55 (separated from the first by a comma but no space).
56 .PP
57 The
58 .I \-n
59 option specifies the number of processes to use for rendering.
60 The default value is 1, which is appropriate for most machines
61 that have a single central processing unit (CPU).
62 If you are running on a machine with multiple CPUs, a larger
63 value up to the number of processors may be used
64 to improve rendering speed, depending on the system load.
65 .PP
66 Because
67 .I ranimove
68 renders each frame progressively, it needs some criteria for when
69 to proceed to the next frame in the animation.
70 The
71 .I \-t
72 option is used to specify the maximum number of seconds to spend
73 on any one frame.
74 The default value for this option is 60 seconds.
75 Additionally, the
76 .I \-d
77 option may be used to specify a termination
78 threshold in just-noticeable-differences.
79 If the error can be reduced below this number of JNDs
80 over the whole frame before the time allocation is spent,
81 .I ranimove
82 will then proceed to the next frame.
83 A value of 2.0 JNDs is the point at which 75% of the people will notice
84 a difference, and this is the level usually selected for such a
85 termination test.
86 There is no default value for this option, which means that rendering
87 will proceed until the time allocation is spent for each frame, regardless.
88 If
89 .I \-t
90 is set to 0,
91 .I ranimove
92 will spend as much time as it takes to reduce the
93 visible error below the value set by the
94 .I \-d
95 option.
96 .PP
97 .I Ranimove
98 renders each frame in three stages.
99 In the first stage, a low-quality image
100 is rendered using one ray sample per 16 pixels.
101 In the second stage, pixels from the previous frame are extrapolated to
102 their corresponding positions in
103 this one, based on the given camera and object movements.
104 A set of heuristics is applied
105 to prevent errors in specular highlights and shadows, avoiding
106 some of the errors typical with the
107 .I pinterp(1)
108 program.
109 In the third stage, additional high-quality samples are used to refine
110 important regions of the image that are judged to have visible errors.
111 This proceeds until the stopping criteria specified by the
112 .I \-t
113 and
114 .I -d
115 options are met,
116 when the frame is filtered and written to the designated picture file.
117 .PP
118 The chief differences between this program and
119 .I ranimate(1)
120 are that motion blur is computed for objects as well as camera movement,
121 and its progressive rendering allows better control over the tradeoff
122 between frame accuracy and rendering time.
123 Fewer controls are provided for managing the picture files produced by
124 .I ranimove,
125 and no facilities for distributed rendering are available other
126 than executing
127 .I ranimove
128 on different machines using the
129 .I \-f
130 option to manually partition the work.
131 .PP
132 Animation variable assignments appear one per line in
133 .I rnmfile.
134 The name of the variable is followed by an equals sign
135 ('=') and its value(s).
136 The end of line may be escaped with a backslash ('\\'), though it is
137 not usually necessary since additional variable values may be given
138 in multiple assignments.
139 Variables that should have only one value are given in upper case.
140 Variables that may have multiple values are given in lower case.
141 Variables may be abbreviated by their first three letters.
142 Comments in
143 .I rnmfile
144 start with a pound sign ('#') and proceed to the end of line.
145 .PP
146 The animation variables, their interpretations and default values
147 are given below.
148 .TP 10n
149 .BR OCTREE
150 The name of the base octree file, which should be generated by the
151 .I oconv(1)
152 command using the
153 .I \-f
154 option.
155 There is no default value for this variable.
156 If no
157 .I RIF
158 variable is given, the octree must be specified.
159 .TP
160 .BR RIF
161 This variable specifies a
162 .I rad(1)
163 input file to use as a source of rendering options and other
164 variable settings.
165 If given,
166 .I ranimate
167 will execute
168 .I rad
169 and create an options file to control rendering parameters.
170 .I Ranimate
171 will also extract default settings for the common variables:
172 .I OCTREE,
173 .I RESOLUTION,
174 and
175 .I EXPOSURE.
176 Following the file name, overriding variable settings may be given,
177 which will be passed to
178 .I rad
179 on the command line.
180 Settings with spaces in them should be enclosed in quotes.
181 The execution of
182 .I rad
183 will also update the contents of the octree, if necessary.
184 There is no default value for this variable.
185 .TP
186 .BR move
187 This variable specifies an object (or objects) with a specific
188 motion and/or rendering priority.
189 Four value arguments are expected for each appearance of this variable.
190 The first is the name of a parent move object, or "void" if none.
191 If given, the object's transformation will be prepended to that
192 of its parent.
193 The second argument is the name of this object, which will be used
194 to name surfaces it contains, and as a modifier for any child objects
195 that reference it.
196 The third argument is the transformation string or file for this object.
197 If this argument is enclosed in quotes and begins with a hyphen
198 ('-'), then it will be interpreted as a
199 static transform specification a la
200 .I xform(1).
201 Otherwise, the argument will be taken as the name of a file that contains
202 one such transform specification per line, corresponding to frames in the
203 animation.
204 A period ('.') may be given if no object transformation is desired.
205 The fourth argument is the name of a
206 .I RADIANCE
207 scene file (or files) to be given to
208 .I xform
209 for transformation.
210 If this argument begins with an exclamation point ('!'), then
211 it will be interpreted as a command rather than a file.
212 A final word corresponding to the frame number will be
213 appended to the command, and its output will be passed to
214 the input of
215 .I xform
216 for each frame.
217 An optinal fifth argument
218 specifies the rendering priority for this object.
219 Values greater than 1 will result in preferential rendering of
220 this object over other portions of the image when it appears in a frame.
221 Values less than 1 will cause the rendering to neglect this object in
222 favor of other parts of the image.
223 A value of 3.0 can be interpreted as saying the viewer is three times more
224 likely to look at this object than the background.
225 A file may be given rather than a floating point value, and this file must
226 contain one floating point number per line, corresponding to frames in the
227 animation.
228 .TP
229 .BR VIEWFILE
230 This variable names a file from which
231 .I ranimove
232 may extract the view for each frame in the animation.
233 This file should contain one valid view per frame, starting with
234 frame 1 on line 1.
235 An exception is made for a view file with only a single view, which
236 is used for every frame of the animation.
237 In this case, the
238 .I END
239 variable must also be specified.
240 This variable is required, and there is no default value.
241 .TP
242 .BR END
243 The final frame number in the animation.
244 The default value is computed from the number of views in the given
245 .I VIEWFILE.
246 Normally, this variable will only be given if the view is static.
247 .TP
248 .BR EXPOSURE
249 This variable tells
250 .I ranimate
251 how to adjust the exposure for each frame.
252 As in
253 .I pfilt,
254 the exposure setting may be given either as a multiplier or as a
255 number of f-stop adjustments (eg. +2 or -1.5).
256 Alternatively, a file name may be given, which
257 .I ranimate
258 will interpret as having one exposure value per line per frame,
259 beginning with frame 1 at line 1.
260 (See also the
261 .I VIEWFILE
262 variable, above.)\0
263 There is no default value for this variable.
264 If it is not given, no exposure adjustments will be made.
265 .TP
266 .BR BASENAME
267 The base output file name for the final frames.
268 This string should contain a
269 .I printf(3)
270 style integer field to distinguish one frame number from another.
271 The final frames will use this name with a ".pic" suffix.
272 The default value is "frame%03d".
273 .TP
274 .BR MBLUR
275 This variable specifies the fraction of a frame time that the shutter
276 is simulated as being open for motion blur.
277 Motion blur is computed by
278 .I ranimove
279 using image-based rendering methods, and will not be exact.
280 The default value is 0, meaning no motion blurring.
281 .TP
282 .BR RATE
283 This variable specifies the animation frame rate, in frames per second.
284 This is needed to compute the animation error visibility.
285 The default value is 8.
286 .TP
287 .BR RESOLUTION
288 This variable specifies the desired final picture resolution.
289 If only a single number is given, this value will be used for both
290 the horizontal and vertical picture dimensions.
291 If two numbers are given, the first is the horizontal resolution and
292 the second is the vertical resolution.
293 If three numbers are given, the third is taken as the pixel aspect
294 ratio for the final picture (a real value).
295 If the pixel aspect ratio is zero, the exact dimensions given will
296 be those produced.
297 Otherwise, they will be used as a frame in which the final image
298 must fit.
299 The default value for this variable is 640.
300 .TP
301 .BR lowq
302 This variable may be used to specify rendering options
303 for the initial, low-quality ray samples.
304 It may be given either as a list of rendering parameter settings,
305 or as variable settings for the
306 .I rad
307 command, in which case the
308 .I RIF
309 variable must also be specified.
310 .TP
311 .BR highq
312 This variable may be used to specify rendering options
313 for the final, high-quality ray samples.
314 It may be given either as a list of rendering parameter settings,
315 or as variable settings for the
316 .I rad
317 command, in which case the
318 .I RIF
319 variable must also be specified.
320 .TP
321 .BR oconv
322 This variable may be used to specify special options for
323 .I oconv.
324 See the
325 .I oconv(1)
326 manual page for a list of valid options.
327 (The
328 .I \-f
329 option is specified by default.)\0
330 .SH EXAMPLES
331 A minimal input file for
332 .I ranimove
333 might look like this:
334 .IP "" .3i
335 .nf
336 ::::::::::
337 sample.rnm
338 ::::::::::
339 # The rad input file for our static scene:
340 RIF= tutor.rif
341 # The view file containing one view per frame:
342 VIEWFILE= anim1.vf
343 # Our central character and its motion:
344 move= void myguy myguy.xf myguy.rad 2.0
345 .fi
346 .PP
347 Note that most of the variables are not set in this file.
348 If we only want to see what default values
349 .I ranimove
350 would use without actually executing anything, we can invoke it
351 thus:
352 .IP "" .2i
353 ranimove -n 0 -e sample.rnm
354 .PP
355 This will print the variables we have given as well as default
356 values
357 .I ranimove
358 has assigned for us.
359 .PP
360 Usually, we execute
361 .I ranimove
362 in the background, redirecting the standard output and standard
363 error to a file:
364 .IP "" .2i
365 ranimove sample.rnm >& sample.err &
366 .PP
367 If we decide that the default values
368 .I ranimove
369 has chosen for our variables are not all appropriate, we can add
370 some more assignments to the file:
371 .IP "" .3i
372 .nf
373 RES= 1024 # shoot for 1024x resolution
374 MBLUR= .25 # apply camera motion blur
375 RATE= 15 # 15 frames/second
376 EXP= anim1.exp # adjust exposure according to file
377 lowq= QUAL=Low # low quality ray sampling
378 highq= QUAL=Med # high quality ray sampling
379 .fi
380 .PP
381 Note the use of abbreviation for variable names.
382 .SH AUTHOR
383 Greg Ward
384 .SH "SEE ALSO"
385 oconv(1), pfilt(1), pinterp(1), rad(1), ranimate(1), rpict(1), xform(1)