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)