Provided by: radiance_4R1+20120125-1.1_amd64 bug

NAME

       ranimove - render a RADIANCE animation with motion

SYNOPSIS

       ranimove [ -s ][ -e ][ -w ][ -f beg,end ][ -n nprocs ][ -t sec ][ -d jnd ] rnmfile

DESCRIPTION

       Ranimove is a program for progressive animation rendering.  Variables in the given rnmfile
       indicate input files, output file names, and various other controls and options.

       Normally, progress reports are written to the standard output, but  the  -s  option  tells
       ranimove to do its work silently.  The -e option tells ranimove to explicate all variables
       used for the animation, including default values not specified  in  the  input  file,  and
       print  them  on  the standard output.  The -w option turns off warnings about multiply and
       misassigned variables and non-fatal rendering problems.

       Normally, ranimove will produce one animation frame for each view given in  the  specified
       view  file.   If the -f option is specified, the animation will resume at the given frame,
       and continue to the end of the sequence, or to the second frame if one is given (separated
       from the first by a comma but no space).

       The  -n  option specifies the number of processes to use for rendering.  The default value
       is 1, which is appropriate for most machines that have a single  central  processing  unit
       (CPU).   If  you  are  running  on  a machine with multiple CPUs, a larger value up to the
       number of processors may be used to improve rendering speed, depending on the system load.

       Because ranimove renders each frame progressively, it needs  some  criteria  for  when  to
       proceed  to the next frame in the animation.  The -t option is used to specify the maximum
       number of seconds to spend on any one frame.  The default value  for  this  option  is  60
       seconds.   Additionally,  the  -d option may be used to specify a termination threshold in
       just-noticeable-differences.  If the error can be reduced below this number of  JNDs  over
       the  whole  frame  before  the time allocation is spent, ranimove will then proceed to the
       next frame.  A value of 2.0 JNDs is the point at which 75% of the  people  will  notice  a
       difference,  and this is the level usually selected for such a termination test.  There is
       no default value for this option, which means that rendering will proceed until  the  time
       allocation is spent for each frame, regardless.  If -t is set to 0, ranimove will spend as
       much time as it takes to reduce the visible error below the value set by the -d option.

       Ranimove renders each frame in three stages.  In the first stage, a low-quality  image  is
       rendered  using  one  ray  sample  per  16  pixels.   In the second stage, pixels from the
       previous frame are extrapolated to their corresponding positions in this one, based on the
       given  camera  and  object movements.  A set of heuristics is applied to prevent errors in
       specular highlights and shadows, avoiding some of the errors typical with  the  pinterp(1)
       program.  In the third stage, additional high-quality samples are used to refine important
       regions of the image that are judged to have visible  errors.   This  proceeds  until  the
       stopping  criteria  specified by the -t and -d options are met, when the frame is filtered
       and written to the designated picture file.

       The chief differences between this  program  and  ranimate(1)  are  that  motion  blur  is
       computed  for  objects  as  well  as camera movement, and its progressive rendering allows
       better control over the  tradeoff  between  frame  accuracy  and  rendering  time.   Fewer
       controls  are  provided  for  managing  the  picture  files  produced  by ranimove, and no
       facilities for distributed rendering  are  available  other  than  executing  ranimove  on
       different machines using the -f option to manually partition the work.

       Animation  variable  assignments appear one per line in rnmfile.  The name of the variable
       is followed by an equals sign ('=') and its value(s).  The end of line may be escaped with
       a backslash ('\'), though it is not usually necessary since additional variable values may
       be given in multiple assignments.  Variables that should have only one value are given  in
       upper  case.   Variables that may have multiple values are given in lower case.  Variables
       may be abbreviated by their first three letters.  Comments in rnmfile start with  a  pound
       sign ('#') and proceed to the end of line.

       The animation variables, their interpretations and default values are given below.

       OCTREE    The  name  of  the  base  octree file, which should be generated by the oconv(1)
                 command using the -f option.  There is no default value for this  variable.   If
                 no RIF variable is given, the octree must be specified.

       RIF       This  variable  specifies  a  rad(1)  input file to use as a source of rendering
                 options and other variable settings.  If given, ranimate will  execute  rad  and
                 create  an  options  file  to  control rendering parameters.  Ranimate will also
                 extract default settings for  the  common  variables:  OCTREE,  RESOLUTION,  and
                 EXPOSURE.   Following  the file name, overriding variable settings may be given,
                 which will be passed to rad on the command line.  Settings with spaces  in  them
                 should  be  enclosed  in  quotes.   The  execution  of  rad will also update the
                 contents of the octree, if necessary.   There  is  no  default  value  for  this
                 variable.

       move      This  variable  specifies  an  object (or objects) with a specific motion and/or
                 rendering priority.  Four value arguments are expected for  each  appearance  of
                 this  variable.   The  first  is  the name of a parent move object, or "void" if
                 none.  If given, the object's transformation will be prepended to  that  of  its
                 parent.   The  second argument is the name of this object, which will be used to
                 name surfaces it contains,  and  as  a  modifier  for  any  child  objects  that
                 reference  it.  The third argument is the transformation string or file for this
                 object.  If this argument is enclosed in quotes and begins with a hyphen  ('-'),
                 then  it  will be interpreted as a static transform specification a la xform(1).
                 Otherwise, the argument will be taken as the name of a file  that  contains  one
                 such transform specification per line, corresponding to frames in the animation.
                 A period ('.') may be given if no object transformation is desired.  The  fourth
                 argument  is  the  name of a RADIANCE scene file (or files) to be given to xform
                 for transformation.  If this argument begins with an  exclamation  point  ('!'),
                 then  it  will  be  interpreted  as  a command rather than a file.  A final word
                 corresponding to the frame number will be  appended  to  the  command,  and  its
                 output  will  be  passed to the input of xform for each frame.  An optinal fifth
                 argument specifies the rendering priority for this object.  Values greater  than
                 1  will  result  in preferential rendering of this object over other portions of
                 the image when it appears in a  frame.   Values  less  than  1  will  cause  the
                 rendering  to neglect this object in favor of other parts of the image.  A value
                 of 3.0 can be interpreted as saying the viewer is three  times  more  likely  to
                 look  at  this  object  than  the background.  A file may be given rather than a
                 floating point value, and this file must contain one floating point  number  per
                 line, corresponding to frames in the animation.

       VIEWFILE  This  variable  names  a  file from which ranimove may extract the view for each
                 frame in the animation.  This file should contain  one  valid  view  per  frame,
                 starting with frame 1 on line 1.  An exception is made for a view file with only
                 a single view, which is used for every frame of the animation.   In  this  case,
                 the  END  variable must also be specified.  This variable is required, and there
                 is no default value.

       END       The final frame number in the animation.  The default value is computed from the
                 number  of  views  in  the given VIEWFILE.  Normally, this variable will only be
                 given if the view is static.

       EXPOSURE  This variable tells ranimate how to adjust the exposure for each frame.   As  in
                 pfilt,  the  exposure setting may be given either as a multiplier or as a number
                 of f-stop adjustments (eg. +2 or -1.5).   Alternatively,  a  file  name  may  be
                 given,  which  ranimate will interpret as having one exposure value per line per
                 frame, beginning with frame 1 at line  1.   (See  also  the  VIEWFILE  variable,
                 above.)   There  is  no default value for this variable.  If it is not given, no
                 exposure adjustments will be made.

       BASENAME  The base output file name for the final frames.  This string  should  contain  a
                 printf(3) style integer field to distinguish one frame number from another.  The
                 final frames will use this name with a ".hdr"  suffix.   The  default  value  is
                 "frame%03d".

       MBLUR     This  variable  specifies  the  fraction  of  a  frame  time that the shutter is
                 simulated as being open for motion blur.  Motion blur is  computed  by  ranimove
                 using  image-based  rendering methods, and will not be exact.  The default value
                 is 0, meaning no motion blurring.

       RATE      This variable specifies the animation frame rate, in frames per second.  This is
                 needed to compute the animation error visibility.  The default value is 8.

       RESOLUTION
                 This  variable specifies the desired final picture resolution.  If only a single
                 number is given, this value will be used for both the  horizontal  and  vertical
                 picture  dimensions.   If  two  numbers  are  given, the first is the horizontal
                 resolution and the second is the vertical  resolution.   If  three  numbers  are
                 given,  the  third  is  taken as the pixel aspect ratio for the final picture (a
                 real value).  If the pixel aspect ratio is zero, the exact dimensions given will
                 be  those  produced.  Otherwise, they will be used as a frame in which the final
                 image must fit.  The default value for this variable is 640.

       lowq      This variable may be used to specify rendering options  for  the  initial,  low-
                 quality  ray  samples.   It may be given either as a list of rendering parameter
                 settings, or as variable settings for the rad command, in  which  case  the  RIF
                 variable must also be specified.

       highq     This  variable  may  be  used  to specify rendering options for the final, high-
                 quality ray samples.  It may be given either as a list  of  rendering  parameter
                 settings,  or  as  variable  settings for the rad command, in which case the RIF
                 variable must also be specified.

       oconv     This variable may be used  to  specify  special  options  for  oconv.   See  the
                 oconv(1)  manual  page for a list of valid options.  (The -f option is specified
                 by default.)

EXAMPLES

       A minimal input file for ranimove might look like this:

          ::::::::::
          sample.rnm
          ::::::::::
          # The rad input file for our static scene:
          RIF= tutor.rif
          # The view file containing one view per frame:
          VIEWFILE= anim1.vf
          # Our central character and its motion:
          move= void myguy myguy.xf myguy.rad 2.0

       Note that most of the variables are not set in this file.  If we only  want  to  see  what
       default  values  ranimove  would use without actually executing anything, we can invoke it
       thus:

         ranimove -n 0 -e sample.rnm

       This will print the variables we have  given  as  well  as  default  values  ranimove  has
       assigned for us.

       Usually,  we  execute  ranimove  in  the  background,  redirecting the standard output and
       standard error to a file:

         ranimove sample.rnm >& sample.err &

       If we decide that the default values ranimove has chosen for our  variables  are  not  all
       appropriate, we can add some more assignments to the file:

          RES= 1024                # shoot for 1024x resolution
          MBLUR= .25                    # apply camera motion blur
          RATE= 15                 # 15 frames/second
          EXP= anim1.exp                # adjust exposure according to file
          lowq= QUAL=Low                # low quality ray sampling
          highq= QUAL=Med                    # high quality ray sampling

       Note the use of abbreviation for variable names.

AUTHOR

       Greg Ward

SEE ALSO

       fieldcomb(1),  oconv(1), pfilt(1), pinterp(1), rad(1), ran2tiff(1), ranimate(1), rpict(1),
       xform(1)