Provided by: radiance_4R1+20120125-1.1_amd64 bug

NAME

       rpict - generate a RADIANCE picture

SYNOPSIS

       rpict [ options ] [ $EVAR ] [ @file ] [ octree ]
       rpict [ options ] -defaults

DESCRIPTION

       Rpict  generates  a  picture from the RADIANCE scene given in octree and sends it to the standard output.
       If no octree is given, the standard input is read.  (The octree may also be specified as the output of  a
       command  enclosed  in  quotes  and preceded by a `!'.)  Options specify the viewing parameters as well as
       giving some control over the calculation.  Options may be given on the command line and/or read from  the
       environment  and/or  read  from  a  file.   A  command  argument  beginning  with  a dollar sign ('$') is
       immediately replaced by the contents of the given environment variable.   A  command  argument  beginning
       with an at sign ('@') is immediately replaced by the contents of the given file.

       In  the  second  form shown above, the default values for the options (modified by those options present)
       are printed with a brief explanation.

       Most options are followed by one or more arguments, which must be separated  from  the  option  and  each
       other by white space.  The exceptions to this rule are the -vt option and the boolean options.  Normally,
       the  appearance  of a boolean option causes a feature to be "toggled", that is switched from off to on or
       on to off depending on its previous state.  Boolean options may also be set explicitly by following  them
       immediately  with  a  '+'  or  '-',  meaning  on  or  off, respectively.  Synonyms for '+' are any of the
       characters "yYtT1", and synonyms for '-' are any of the characters "nNfF0".  All  other  characters  will
       generate an error.

       -vtt      Set view type to t.  If t is 'v', a perspective view is selected.  If t is 'l', a parallel view
                 is  used.   A cylindrical panorma may be selected by setting t to the letter 'c'.  This view is
                 like a standard perspective vertically, but  projected  on  a  cylinder  horizontally  (like  a
                 soupcan's-eye  view).   Three  fisheye  views  are provided as well; 'h' yields a hemispherical
                 fisheye view, 'a' results in angular fisheye distortion,  and  's'  results  in  a  planisphere
                 (stereographic)  projection.   A hemispherical fisheye is a projection of the hemisphere onto a
                 circle.  The maximum view angle for this type is 180  degrees.   An  angular  fisheye  view  is
                 defined  such  that distance from the center of the image is proportional to the angle from the
                 central view direction.  An angular fisheye can display a  full  360  degrees.   A  planisphere
                 fisheye  view  maintains angular relationships between lines, and is commonly used for sun path
                 analysis.  This is more commonly known as a "stereographic projection," but we avoid  the  term
                 here so as not to confuse it with a stereoscopic pair.  A planisphere fisheye can display up to
                 (but  not  including)  360  degrees,  although  distortion  becomes  extreme  as  this limit is
                 approached.  Note that there is no space between the view type option  and  its  single  letter
                 argument.

       -vp x y z Set the view point to x y z .  This is the focal point of a perspective view or the center of a
                 parallel projection.

       -vd xd yd zd
                 Set  the  view  direction  vector  to xd yd zd .  The length of this vector indicates the focal
                 distance as needed by the -pd option, described below.

       -vu xd yd zd
                 Set the view up vector (vertical direction) to xd yd zd .

       -vh val   Set the view horizontal size to val.  For a perspective projection (including  fisheye  views),
                 val  is  the horizontal field of view (in degrees).  For a parallel projection, val is the view
                 width in world coordinates.

       -vv val   Set the view vertical size to val.

       -vo val   Set the view fore clipping plane at a distance of val from the view point.  The plane  will  be
                 perpendicular  to the view direction for perspective and parallel view types.  For fisheye view
                 types, the clipping plane is actually a clipping sphere, centered on the view point with radius
                 val.  Objects in front of this imaginary surface will not be visible.  This may be  useful  for
                 seeing  through  walls  (to  get  a  longer  perspective  from  an  exterior view point) or for
                 incremental rendering.  A value of zero implies  no  foreground  clipping.   A  negative  value
                 produces  some  interesting  effects, since it creates an inverted image for objects behind the
                 viewpoint.  This possibility is provided mostly for  the  purpose  of  rendering  stereographic
                 holograms.

       -va val   Set  the  view aft clipping plane at a distance of val from the view point.  Like the view fore
                 plane, it will be perpendicular to the view direction for perspective and parallel view  types.
                 For  fisheye view types, the clipping plane is actually a clipping sphere, centered on the view
                 point with radius val.  Objects behind this imaginary surface will not be visible.  A value  of
                 zero  means  no aft clipping, and is the only way to see infinitely distant objects such as the
                 sky.

       -vs val   Set the view shift to val.  This is the amount the actual image will be shifted to the right of
                 the specified view.  This is option is useful for generating skewed perspectives  or  rendering
                 an  image  a  piece  at  a time.  A value of 1 means that the rendered image starts just to the
                 right of the normal view.  A value of -1 would be to the left.  Larger or fractional values are
                 permitted as well.

       -vl val   Set the view lift to val.  This is the amount the actual image  will  be  lifted  up  from  the
                 specified view, similar to the -vs option.

       -vf file  Get view parameters from file, which may be a picture or a file created by rvu (with the "view"
                 command).

       -x res    Set the maximum x resolution to res.

       -y res    Set the maximum y resolution to res.

       -pa rat   Set  the  pixel aspect ratio (height over width) to rat.  Either the x or the y resolution will
                 be reduced so that the pixels have this ratio for the specified view.  If rat is zero, then the
                 x and y resolutions will adhere to the given maxima.

       -ps size  Set the pixel sample spacing to the integer  size.   This  specifies  the  sample  spacing  (in
                 pixels) for adaptive subdivision on the image plane.

       -pt frac  Set  the  pixel  sample  tolerance  to frac.  If two samples differ by more than this amount, a
                 third sample is taken between them.

       -pj frac  Set the pixel sample  jitter  to  frac.   Distributed  ray-tracing  performs  anti-aliasing  by
                 randomly  sampling  over  pixels.   A  value  of one will randomly distribute samples over full
                 pixels.  A value of zero samples pixel centers only.  A value between zero and one  is  usually
                 best for low-resolution images.

       -pm frac  Set  the  pixel  motion  blur to frac.  In an animated sequence, the exact view will be blurred
                 between the previous view and the next view as though a shutter were open this  fraction  of  a
                 frame  time.  (See the -S option regarding animated sequences.)  The first view will be blurred
                 according to the difference between the initial view set on the command line and the first view
                 taken from the standard input.  It is not advisable to use this option in combination with  the
                 pmblur(1)  program,  since  one  takes the place of the other.  However, it may improve results
                 with pmblur to use a very small fraction with the -pm option, to avoid the ghosting  effect  of
                 too few time samples.

       -pd dia   Set  the  pixel depth-of-field aperture to a diameter of dia (in world coordinates).  This will
                 be used in conjunction with the view focal distance,  indicated  by  the  length  of  the  view
                 direction  vector  given  in  the  -vd  option.   It  is  not  advisable  to use this option in
                 combination with the pdfblur(1) program, since one takes the place of the other.   However,  it
                 may improve results with pdfblur to use a very small fraction with the -pd option, to avoid the
                 ghosting effect of too few samples.

       -dj frac  Set  the  direct  jittering  to  frac.   A value of zero samples each source at specific sample
                 points (see the -ds option below), giving a smoother but somewhat less accurate  rendering.   A
                 positive  value  causes  rays  to be distributed over each source sample according to its size,
                 resulting in more accurate penumbras.  This option should never be greater than 1, and may even
                 cause problems (such as speckle) when the value is smaller.  A  warning  about  aiming  failure
                 will  issued  if  frac  is too large.  It is usually wise to turn off image sampling when using
                 direct jitter by setting -ps to 1.

       -ds frac  Set the direct sampling ratio to frac.  A light source will be subdivided until  the  width  of
                 each  sample  area  divided by the distance to the illuminated point is below this ratio.  This
                 assures accuracy in regions close to large area sources at a slight computational  expense.   A
                 value  of  zero  turns  source  subdivision  off,  sending at most one shadow ray to each light
                 source.

       -dt frac  Set the direct threshold to frac.  Shadow testing will stop when the potential contribution  of
                 at  least the next and at most all remaining light source samples is less than this fraction of
                 the accumulated value.  (See the -dc option below.)  The remaining light  source  contributions
                 are  approximated  statistically.   A value of zero means that all light source samples will be
                 tested for shadow.

       -dc frac  Set the direct certainty to frac.  A value of one guarantees that the absolute accuracy of  the
                 direct  calculation  will  be  equal  to or better than that given in the -dt specification.  A
                 value of zero only insures that all shadow lines resulting in a contrast  change  greater  than
                 the -dt specification will be calculated.

       -dr N     Set the number of relays for secondary sources to N.  A value of 0 means that secondary sources
                 will  be ignored.  A value of 1 means that sources will be made into first generation secondary
                 sources; a value of 2 means that first generation secondary sources  will  also  be  made  into
                 second generation secondary sources, and so on.

       -dp D     Set the secondary source presampling density to D.  This is the number of samples per steradian
                 that  will  be used to determine ahead of time whether or not it is worth following shadow rays
                 through all the reflections and/or transmissions associated with a secondary  source  path.   A
                 value of 0 means that the full secondary source path will always be tested for shadows if it is
                 tested at all.

       -dv       Boolean  switch  for light source visibility.  With this switch off, sources will be black when
                 viewed directly although they will still participate in the direct  calculation.   This  option
                 may  be  desirable in conjunction with the -i option so that light sources do not appear in the
                 output.

       -ss samp  Set the specular sampling to samp.  For values less than 1, this is the  degree  to  which  the
                 highlights  are sampled for rough specular materials.  A value greater than one causes multiple
                 ray samples to be sent to reduce noise at a commmesurate cost.  A value of zero means  that  no
                 jittering  will  take  place,  and  all  reflections will appear sharp even when they should be
                 diffuse.  This may be desirable when used in combination with image sampling  (see  -ps  option
                 above) to obtain faster renderings.

       -st frac  Set  the  specular  sampling  threshold to frac.  This is the minimum fraction of reflection or
                 transmission, under which no specular sampling is  performed.   A  value  of  zero  means  that
                 highlights  will  always  be  sampled by tracing reflected or transmitted rays.  A value of one
                 means that specular sampling is never used.  Highlights  from  light  sources  will  always  be
                 correct,  but  reflections  from other surfaces will be approximated using an ambient value.  A
                 sampling threshold between zero  and  one  offers  a  compromise  between  image  accuracy  and
                 rendering time.

       -bv       Boolean  switch  for  back face visibility.  With this switch off, back faces of opaque objects
                 will be invisible to all rays.  This is dangerous unless the model was  constructed  such  that
                 all  surface normals on opaque objects face outward.  Although turning off back face visibility
                 does not save much computation time under most circumstances, it may be useful as  a  tool  for
                 scene  debugging,  or  for seeing through one-sided walls from the outside.  This option has no
                 effect on transparent or translucent materials.

       -av red grn blu
                 Set the ambient value to a radiance of red grn blu .  This is the final value used in place  of
                 an  indirect  light  calculation.   If  the number of ambient bounces is one or greater and the
                 ambient value weight is non-zero (see -aw and -ab below), this value may  be  modified  by  the
                 computed indirect values to improve overall accuracy.

       -aw N     Set  the  relative weight of the ambient value given with the -av option to N.  As new indirect
                 irradiances are computed, they will modify the default ambient value in a moving average,  with
                 the  specified  weight assigned to the initial value given on the command and all other weights
                 set to 1.  If a value of 0 is given with this option, then the initial ambient value  is  never
                 modified.    This   is  the  safest  value  for  scenes  with  large  differences  in  indirect
                 contributions, such as when both indoor and outdoor (daylight) areas are visible.

       -ab N     Set the number of ambient bounces to N.  This is the maximum number of diffuse bounces computed
                 by the indirect calculation.  A value of zero implies no indirect calculation.

       -ar res   Set the ambient resolution to res.  This number will determine the maximum density  of  ambient
                 values  used in interpolation.  Error will start to increase on surfaces spaced closer than the
                 scene size divided by the ambient resolution.  The maximum ambient value density is  the  scene
                 size  times  the ambient accuracy (see the -aa option below) divided by the ambient resolution.
                 The scene size can be determined using getinfo(1) with the -d option on the  input  octree.   A
                 value of zero is interpreted as unlimited resolution.

       -aa acc   Set  the  ambient accuracy to acc.  This value will approximately equal the error from indirect
                 illuminance interpolation.  A value of zero implies no interpolation.

       -ad N     Set the number of ambient divisions to N.  The error in the Monte Carlo calculation of indirect
                 illuminance will be inversely proportional to the square root of this number.  A value of  zero
                 implies no indirect calculation.

       -as N     Set  the  number  of ambient super-samples to N.  Super-samples are applied only to the ambient
                 divisions which show a significant change.

       -af fname Set the ambient file to  fname.   This  is  where  indirect  illuminance  will  be  stored  and
                 retrieved.   Normally, indirect illuminance values are kept in memory and lost when the program
                 finishes or dies.  By using a file, different invocations can share illuminance values,  saving
                 time  in the computation.  Also, by creating an ambient file during a low resolution rendering,
                 better results can be obtained in a second high resolution pass.  The  ambient  file  is  in  a
                 machine-independent binary format which may be examined with lookamb(1).

                 The  ambient  file  may  also  be  used  as  a  means of communication and data sharing between
                 simultaneously executing processes.  The same file may be used by multiple processes,  possibly
                 running  on  different  machines  and  accessing  the  file via the network (ie.  nfs(4)).  The
                 network lock manager lockd(8) is used to insure that this information is used consistently.

                 If any calculation parameters are changed or the scene is modified, the old ambient file should
                 be removed so that the calculation can start over from scratch.  For convenience, the  original
                 ambient  parameters  are  listed  in the header of the ambient file.  Getinfo(1) may be used to
                 print out this information.

       -ae mod   Append mod to the ambient exclude list, so that it will not be considered during  the  indirect
                 calculation.  This is a hack for speeding the indirect computation by ignoring certain objects.
                 Any  object  having  mod  as  its  modifier  will  get  the default ambient level rather than a
                 calculated value.  Any number of excluded modifiers may be given, but each  must  appear  in  a
                 separate option.

       -ai mod   Add  mod  to  the  ambient  include  list,  so  that  it will be considered during the indirect
                 calculation.  The program can use either an include list or an exclude list, but not both.

       -aE file  Same as -ae, except read modifiers to be excluded from file.  The RAYPATH environment  variable
                 determines  which  directories are searched for this file.  The modifier names are separated by
                 white space in the file.

       -aI file  Same as -ai, except read modifiers to be included from file.

       -me rext gext bext
                 Set the global medium extinction coefficient to the indicated color,  in  units  of  1/distance
                 (distance  in  world coordinates).  Light will be scattered or absorbed over distance according
                 to this value.  The ratio of scattering to total scattering  plus  absorption  is  set  by  the
                 albedo parameter, described below.

       -ma ralb galb balb
                 Set  the  global  medium albedo to the given value between 0 0 0 and 1 1 1.  A zero value means
                 that all light not transmitted by the medium is absorbed.  A unitary value means that all light
                 not transmitted by the medium is scattered in some new direction.  The isotropy  of  scattering
                 is determined by the Heyney-Greenstein parameter, described below.

       -mg gecc  Set the medium Heyney-Greenstein eccentricity parameter to gecc.  This parameter determines how
                 strongly  scattering  favors the forward direction.  A value of 0 indicates perfectly isotropic
                 scattering.  As this parameter approaches 1, scattering tends to prefer the forward direction.

       -ms sampdist
                 Set the medium sampling distance  to  sampdist,  in  world  coordinate  units.   During  source
                 scattering,  this  will  be  the average distance between adjacent samples.  A value of 0 means
                 that only one sample will be taken per light source within a given scattering volume.

       -i        Boolean switch to compute irradiance rather than radiance values.  This only affects the  final
                 result,  substituting a Lambertian surface and multiplying the radiance by pi.  Glass and other
                 transparent surfaces are ignored during this stage.  Light  sources  still  appear  with  their
                 original radiance values, though the -dv option (above) may be used to override this.

       -u        Boolean switch to control uncorrelated random sampling.  When "off", a low-discrepancy sequence
                 is  used, which reduces variance but can result in a brushed appearance in specular highlights.
                 When "on", pure Monte Carlo sampling is used in all calculations.

       -lr N     Limit reflections to a maximum of N, if N is a positive integer.  If N is  zero,  then  Russian
                 roulette  is used for ray termination, and the -lw setting (below) must be positive.  If N is a
                 negative integer, then this sets the upper limit of reflections  past  which  Russian  roulette
                 will  be  used.   In  scenes with dielectrics and total internal reflection, a setting of 0 (no
                 limit) may cause a stack overflow.

       -lw frac  Limit the weight of each ray to a minimum of frac.  During ray-tracing, a record is kept of the
                 estimated contribution (weight) a ray would have in the image.  If this weight is less than the
                 specified minimum and the -lr setting (above) is positive, the ray is not  traced.   Otherwise,
                 Russian roulette is used to continue rays with a probability equal to the ray weight divided by
                 the given frac.

       -S seqstart
                 Instead  of  generating a single picture based only on the view parameters given on the command
                 line, this option causes rpict to read view options from the standard input and for  each  line
                 containing  a  valid view specification, generate a corresponding picture.  This option is most
                 useful for generating animated sequences, though it may also be used to control  rpict  from  a
                 remote  process for network-distributed rendering.  Seqstart is a positive integer that will be
                 associated with the first output frame, and  incremented  for  successive  output  frames.   By
                 default,  each  frame  is  concatenated to the output stream, but it is possible to change this
                 action using the -o option (described below).  Multiple frames may be later extracted from  the
                 output using ra_rgbe(1).

                 Note that the octree may not be read from the standard input when using this option.

       -o fspec  Send  the  picture(s)  to  the  file(s) given by fspec instead of the standard output.  If this
                 option is used in combination with -S and fspec contains an integer field  for  printf(3)  (eg.
                 "%03d") then the actual output file name will include the current frame number.  Rpict will not
                 allow a picture file to be clobbered (overwritten) with this option.  If an image in a sequence
                 already  exists (-S option), rpict will skip until it reaches an image that doesn't, or the end
                 of the sequence.  This is useful for running rpict on multiple machines or processors to render
                 the same sequence, as each process will skip to the next frame that needs rendering.

       -r fn     Recover pixel information from the  file  fn.   If  the  program  gets  killed  during  picture
                 generation,  the  information  may  be  recovered  using  this option.  The view parameters and
                 picture dimensions are also recovered from  fn  if  possible.   The  other  options  should  be
                 identical to those which created fn, or an inconsistent picture may result.  If fn is identical
                 to the file specification given with the -o option, rpict will rename the file prior to copying
                 its  contents.   This insures that the old file is not overwritten accidentally.  (See also the
                 -ro option, below.)

                 If fn is an integer and the recover option is used in combination  with  the  -S  option,  then
                 rpict skips a number of view specifications on its input equal to the difference between fn and
                 seqstart.   Rpict  then  performs  a  recovery operation on the file constructed from the frame
                 number fn and the output file  specification  given  with  the  -o  option.   This  provides  a
                 convenient mechanism for recovering in the middle of an aborted picture sequence.

                 The  recovered  file  will be removed if the operation is successful.  If the recover operation
                 fails (due to lack of disk space) and the output file and recover file specifications  are  the
                 same,  then  the  original  information  may  be  left in a renamed temporary file.  (See FILES
                 section, below.)

       -ro fspec This option causes pixel information to be recovered from  and  subsequently  returned  to  the
                 picture  file  fspec.   The  effect is the same as specifying identical recover and output file
                 names with the -r and -o options.

       -z fspec  Write pixel distances out to the file fspec.  The values are written as short floats,  one  per
                 pixel  in scanline order, as required by pinterp(1).  Similar to the -o option, the actual file
                 name will be constructed using printf and the frame number from the -S option.   If  used  with
                 the -r option, -z also recovers information from an aborted rendering.

       -P pfile  Execute  in  a  persistent  mode,  using  pfile  as the control file.  This option must be used
                 together with -S, and is incompatible with the recover option (-r).  Persistent execution means
                 that after reaching end-of-file on its input, rpict will fork a child process  that  will  wait
                 for  another  rpict command with the same -P option to attach to it.  (Note that since the rest
                 of the command line options will be those of the original invocation, it is  not  necessary  to
                 give  any arguments besides -P for subsequent calls.)  Killing the process is achieved with the
                 kill(1) command.  (The process ID in the first line of  pfile  may  be  used  to  identify  the
                 waiting  rpict  process.)   This  option  may  be less useful than the -PP variation, explained
                 below.

       -PP pfile Execute in continuous-forking persistent mode, using pfile as the control file.  The difference
                 between this option and the -P option described above is the  creation  of  multiple  duplicate
                 processes  to  handle any number of attaches.  This provides a simple and reliable mechanism of
                 memory sharing on most multiprocessing platforms, since the  fork(2)  system  call  will  share
                 memory  on a copy-on-write basis.  This option may be used with rpiece(1) to efficiently render
                 a single image using multiple processors on the same host.

       -t sec    Set the time between progress reports to sec.  A progress report  writes  the  number  of  rays
                 traced,  the  percentage completed, and the CPU usage to the standard error.  Reports are given
                 either automatically after the specified interval, or when  the  process  receives  a  continue
                 (-CONT) signal (see kill(1)).  A value of zero turns automatic reporting off.

       -e efile  Send error messages and progress reports to efile instead of the standard error.

       -w        Boolean switch for warning messages.  The default is to print warnings, so the first appearance
                 of this option turns them off.

EXAMPLE

       rpict -vp 10 5 3 -vd 1 -.5 0 scene.oct > scene.hdr

       rpict -S 1 -o frame%02d.hdr scene.oct < keyframes.vf

ENVIRONMENT

       RAYPATH        the directories to check for auxiliary files.

FILES

       /tmp/rtXXXXXX       common header information for picture sequence
       rfXXXXXX       temporary name for recover file

DIAGNOSTICS

       If the program terminates from an input related error, the exit status will be 1.  A system related error
       results  in  an  exit  status of 2.  If the program receives a signal that is caught, it will exit with a
       status of 3.  In each case, an error message will be printed to  the  standard  error,  or  to  the  file
       designated by the -e option.

AUTHOR

       Greg Ward

SEE ALSO

       getinfo(1),  lookamb(1),  oconv(1),  pdfblur(1),  pfilt(1), pinterp(1), pmblur(1), printf(3), ra_rgbe(1),
       rad(1), rtrace(1), rvu(1)

RADIANCE                                             2/26/99                                            RPICT(1)