xenial (1) rpict.1.gz

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)