ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/man/man1/ranimove.1
Revision: 1.3
Committed: Tue Dec 9 15:59:06 2003 UTC (20 years, 4 months ago) by greg
Branch: MAIN
CVS Tags: rad3R7P2, rad3R7P1, rad3R6, rad3R6P1
Changes since 1.2: +1 -1 lines
Log Message:
Fixed RCSid specification

File Contents

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