Provided by: radiance_4R1+20120125-1.1_amd64 bug

NAME

       rad - render a RADIANCE scene

SYNOPSIS

       rad  [  -s  ][  -n  |  -N  npr  ][  -t ][ -e ][ -V ][ -w ][ -v view ][ -o device ] rfile [
       VAR=value ..  ]

DESCRIPTION

       Rad is an executive program that reads the given rfile  and  makes  appropriate  calls  to
       oconv(1),  mkillum(1),  rpict(1),  pfilt(1),  and/or  rvu(1)  to  render a specific scene.
       Variables in rfile give input files and qualitative  information  about  the  rendering(s)
       desired  that  together  enable  rad to intelligently set parameter values and control the
       simulation.

       Normally, commands are echoed to the standard output as they are executed.  The -s  option
       tells  rad  to  do its work silently.  The -n option tells rad not to take any action (ie.
       not to actually execute any commands).  The -N option instructs rad to run as many as  npr
       rendering  processes  in parallel.  The -t option tells rad to bring rendering files up to
       date relative to the input  (scene  description)  files,  without  performing  any  actual
       calculations.   If  no octree exists, it is still necessary to run oconv(1) to create one,
       since the -t option will not create invalid (i.e. empty) files,  and  a  valid  octree  is
       necessary  for  the  correct  operation  of rad.  The -e option tells rad to explicate all
       variables used for the simulation, including default values not  specified  in  the  input
       file, and print them on the standard output.

       Normally, rad will produce one picture for each view given in rfile.  The -v option may be
       used to specify a single desired view.  The view argument may either be  a  complete  view
       specification  (enclosed  in quotes and beginning with an optional identifier) or a number
       or single-word identifier to match a view defined in rfile.  If the argument is one of the
       standard  view identifiers, it may or may not be further elaborated in rfile.  (See "view"
       variable description, below.)  If the argument does not match any views in  rfile  and  is
       not  one of the standard views, no rendering will take place.  This may be convenient when
       the only action desired of rad is the  rebuilding  of  the  octree.   In  particular,  the
       argument "0" will never match a view.

       If  the  -V option is given, each view will be printed on the standard output before being
       applied, in a form suitable for use in a view file or rpict rendering sequence.   This  is
       helpful as feedback or for accessing the rad view assignments without necessarily starting
       a rendering.

       By default, rad will run rpict and pfilt to produce a  picture  for  each  view.   The  -o
       option  specifies  an  output  device  for  rvu  (usually "x11") and runs this interactive
       program instead, using the first view in rfile or the view given with the -v option as the
       starting point.

       Additional  variable  settings  may  be  added or overridden on the command line following
       rfile.  Upper case variables specified more than once will result  in  a  warning  message
       (unless the -w option is present), and the last value given will be the one used.

       The -w option turns off warnings about multiply and misassigned variables.

       Rendering  variable assignments appear one per line in rfile.  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 rfile  start  with  a  pound
       sign ('#') and proceed to the end of line.

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

       OCTREE    The name of the octree file.  The default name is the same as rfile but with any
                 suffix replaced by ".oct".  (The octree must be a file -- rad cannot  work  with
                 commands that produce octrees.)

       ZONE      This  variable  specifies the volume of interest for this simulation.  The first
                 word is either "Interior" or "Exterior", depending on whether the zone is to  be
                 observed  from the inside or the outside, respectively.  (A single letter may be
                 given, and case does not matter.)  The following six numbers are the minimum and
                 maximum  X coordinates, minimum and maximum Y, and minimum and maximum Z for the
                 zone perimeter.  It is important to give the zone as it  is  used  to  determine
                 many  of  the  rendering  parameters.  The default exterior zone is the bounding
                 cube for the scene as computed by oconv.

       EXPOSURE  This variable tells rad how to adjust the exposure for display.  It is important
                 to  set this variable properly as it is used to determine the ambient value.  An
                 appropriate setting may be discovered by running rvu  and  noting  the  exposure
                 given  by  the  "exposure =" command.  As in rvu and pfilt, the exposure setting
                 may be given either as a multiplier or as a number of f-stop adjustments (eg. +2
                 or  -1.5).  There is no default value for this variable.  If it is not given, an
                 average level will be computed by pfilt and the ambient value will be set to  10
                 for exterior zones and 0.01 for interior zones.

       EYESEP    The  interocular  spacing  for stereo viewing.  I.e., the world distance between
                 the pupils of the left and right eyes.  The default value  is  the  sum  of  the
                 three "ZONE" dimensions divided by 100.

       scene     This  variable  is  used  to specify one or more scene input files.  These files
                 will be given together with the materials file(s) and any options  specified  by
                 the  "oconv"  variable  to  oconv  to  produce  the octree given by the "OCTREE"
                 variable.  In-line commands may be  specified  in  quotes  instead  of  a  file,
                 beginning  with  an  exclamation  mark  ('!').   If  the "scene" variable is not
                 present, then the octree must already exist in order for rad to work.   Even  if
                 this  variable  is given, oconv will not be run unless the octree is out of date
                 with respect to the input files.  Note that the order of files in this  variable
                 is  important  for  oconv  to  work  properly, and files given in later variable
                 assignments will appear after previous ones on the oconv command line.

       materials This variable is used to specify files that, although they must  appear  on  the
                 oconv  command  line,  do  not  affect  the  actual  octree itself.  Keeping the
                 materials in separate files allows them to be  modified  without  requiring  the
                 octree  to  be  rebuilt  (a sometimes costly procedure).  These files should not
                 contain any geometry, and the -f  option  must  not  be  given  in  the  "oconv"
                 variable for this to work.

       illum     This  variable is used to specify files with surfaces to be converted into illum
                 sources by mkillum(1).  When this variable is  given,  additional  octree  files
                 will  be  created to contain the scene before and after illum source conversion.
                 These files will be named according  to  the  (default)  value  of  the  OCTREEE
                 variable,  with either a '0' or a '1' appearing just before the file type suffix
                 (usually ".oct").

       objects   This variable is used for files that, although they do not appear on  the  oconv
                 command line, contain geometric information that is referenced indirectly by the
                 scene files.  If any of these files is changed,  the  octree  will  be  rebuilt.
                 (The   raddepend(1)   command   may   be   used   to   find  these  dependencies
                 automatically.)

       view      This variable is used to specify a desired view for this zone.   Any  number  of
                 "view"  lines  may  be given, and each will result in a rendered picture (unless
                 the -v or -o option is specified).  The value for this variable is  an  optional
                 identifier  followed  by any number of view options (see rpict(1) for a complete
                 listing).  The identifier is used in file naming and associating a desired  view
                 with  the  -v  command  line  option.   Also,  there  are  several standard view
                 identifiers defined by rad.  These standard views are specified  by  strings  of
                 the  form "[Xx]?[Yy]?[Zz]?[vlcahs]?".  (That is, an optional upper or lower case
                 X followed by an optional upper or lower case Y followed by an optional upper or
                 lower  case  Z followed by an optional lower case V, L, C, A or H.)  The letters
                 indicate the desired view position, where upper case X means  maximum  X,  lower
                 case  means  minimum and so on.  The final letter is the view type, where 'v' is
                 perspective (the default), 'l' is parallel, 'c' is a cylindrical  panorama,  ´a'
                 is  angular  fisheye,  'h'  is  hemispherical  fisheye, and 's' is a planisphere
                 (stereographic) fisheye.  A perspective view from maximum X, minimum Y would  be
                 "Xy"  or  "Xyv".  A parallel view from maximum Z would be "Zl".  If "ZONE" is an
                 interior zone, the standard views will be inside the perimeter.   If  it  is  an
                 exterior zone, the standard views will be outside.  Note that the standard views
                 are best used as starting points, and additional arguments may  be  given  after
                 the  identifier  to  modify  a  standard  view  to suit a particular model.  The
                 default view is "X" if no views are specified.  A single specified view  of  "0"
                 means no views will be automatically generated.

       UP        The vertical axis for this scene.  A negative axis may be specified with a minus
                 sign (eg. "-Y").  There is no default value  for  this  variable,  although  the
                 standard views assume Z is up if no other axis is specified.

       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 512.

       QUALITY   This variable sets the overall rendering quality desired.  It can  have  one  of
                 three  values,  "LOW",  "MEDIUM"  or  "HIGH".  These may be abbreviated by their
                 first letter, and may be in upper or lower case.  Most of the rendering  options
                 will be affected by this setting.  The default value is "L".

       PENUMBRAS This  is  a boolean variable indicating whether or not penumbras are desired.  A
                 value of "TRUE" will result in penumbras (soft shadows), and a value of  "FALSE"
                 will  result  in no penumbras (sharp shadows).  True and false may be written in
                 upper or lower case, and may be abbreviated  by  a  single  letter.   Renderings
                 generally proceed much faster without penumbras.  The default value is "F".

       INDIRECT  This  variable  indicates  how  many  diffuse  reflections  are important in the
                 general lighting of this  zone.   A  direct  lighting  system  (eg.  fluorescent
                 troffers  recessed  in  the  ceiling) corresponds to an indirect level of 0.  An
                 indirect lighting system (eg. hanging  fluorescents  directed  at  a  reflective
                 ceiling)  corresponds  to  an  indirect  level  of  1.   A  diffuse  light shelf
                 reflecting sunlight onto the ceiling would correspond to an indirect level of 2.
                 The setting of this variable partially determines how many interreflections will
                 be calculated.  The default value is 0.

       PICTURE   This is the root name of the  output  picture  file(s).   This  name  will  have
                 appended  the  view  identifier  (or  a  number  if no id was used) and a ".hdr"
                 suffix.  If a picture corresponding to a specific view exists and is not out  of
                 date  with respect to the given octree, it will not be re-rendered.  The default
                 value for this variable is the root portion of rfile.

       RAWFILE   This is the root name of the finished, raw rpict output file.  If specified, rad
                 will  rename  the  original  rpict  output file once it is finished and filtered
                 rather than removing it, which is the default action.  The given root name  will
                 be  expanded in the same way as the "PICTURE" variable, and if the "RAWFILE" and
                 "PICTURE" variables are identical, then no filtering will take place.

       ZFILE     This is the root name of the raw distance file produced  by  the  -z  option  of
                 rpict.  To this root name, an underscore plus the view name plus a ".zbf" suffix
                 will be added.  If no "ZFILE" is specified, none will be produced.

       AMBFILE   This is the name of the file where "ambient" or diffuse  interreflection  values
                 will  be  stored  by rpict or rvu.  Although it is not required, an ambient file
                 should be given whenever an interreflection calculation is expected.  This  will
                 optimize successive runs and minimize artifacts.  An interreflection calculation
                 will take place when the  "QUALITY"  variable  is  set  to  HIGH,  or  when  the
                 "QUALITY"  variable  is  set  to MEDIUM and "INDIRECT" is positive.  There is no
                 default value for this variable.

       DETAIL    This variable specifies the level of visual detail in this zone, and is used  to
                 determine  image  sampling  rate, among other things.  If there are few surfaces
                 and simple shading, then this should be set  to  LOW.   For  a  zone  with  some
                 furniture it might be set to MEDIUM.  If the space is very cluttered or contains
                 a lot of geometric detail and textures, then it should  be  set  to  HIGH.   The
                 default value is "M".

       VARIABILITY
                 This  variable  tells  rad how much light varies over the surfaces of this zone,
                 and is used to determine what level of sampling is  necessary  in  the  indirect
                 calculation.   For  an electric lighting system with uniform coverage, the value
                 should be set to LOW.  For a space with spot  lighting  or  a  window  with  sky
                 illumination  only,  it  might  be  set to MEDIUM.  For a space with penetrating
                 sunlight casting bright patches in a few places, it should be set to HIGH.   The
                 default value is "L".

       OPTFILE   This  is  the  name  of a file in which rad will place the appropriate rendering
                 options.  This file can later be accessed by rpict or rvu in  subsequent  manual
                 runs  using  the  at-sign  ('@')  file  insert option.  (Using an "OPTFILE" also
                 reduces the length of the rendering command, which improves appearance  and  may
                 even  be  necessary  on  some  systems.)   There  is  no  default value for this
                 variable.

       REPORT    This variable may be used to specify a reporting interval for  batch  rendering.
                 Given in minutes, this value is multiplied by 60 and passed to rpict with the -t
                 option.  If a filename is given after the interval, it will be used as the error
                 file  for reports and error messages instead of the standard error.  (See the -e
                 option of rpict(1).  There is no default value for this variable.

       oconv     This variable may be used to specify special options to  oconv.   If  the  first
                 word of the first instance of this variable is not an option, it will be used in
                 place of the default command path, "oconv".  See the oconv(1) manual page for  a
                 list of valid options.

       mkillum   This  variable  may  be  used  to specify additional options to mkillum.  If the
                 first word of the first instance of this variable is not an option, it  will  be
                 used  in place of the default command path, "mkillum".  See the rtrace(1) manual
                 page for a list of valid options.

       render    This variable may be used to specify additional options to rpict or rvu.   These
                 options  will  appear  after the options set automatically by rad, and thus will
                 override the default values.

       rpict     This variable may be used to specify overriding options specific to  rpict.   If
                 the  first word of the first instance of this variable is not an option, it will
                 be used in place of the default command path, "rpict".   See  the  rpict(1)  man
                 page for a list of valid options.

       rvu       This variable may be used to specify overriding options specific to rvu.  If the
                 first word of the first instance of this variable is not an option, it  will  be
                 used in place of the default command path, "rvu".  See the rvu(1) man page for a
                 list of valid options.

       pfilt     This variable may be used to specify additional options to pfilt.  If the  first
                 word of the first instance of this variable is not an option, it will be used in
                 place of the default command path, "pfilt".  See the pfilt(1)  manual  page  for
                 details.

EXAMPLES

       A minimal input file for rad might look like this:

          ::::::::::
          sample.rif
          ::::::::::
          # The octree we want to use:
          OCTREE= tutor.oct        # w/o this line, name would be "sample.oct"
          # Our scene input files:
          scene= sky.rad outside.rad room.rad srcwindow.rad
          # The interior zone cavity:
          ZONE= I  0 3  0 2  0 1.75          # default would be scene bounding cube
          # The z-axis is up:
          UP= Z                    # no default - would use view spec.
          # Our exposure needs one f-stop boost:
          EXPOSURE= +1             # default is computed ex post facto

       Note  that  we  have not specified any views in the file above.  The standard default view
       "X" would be used if we were to run rad on this file.  If we only want to see what default
       values rad would use without actually executing anything, we can invoke it thus:

         rad -n -e sample.rif

       This will print the variables we have given as well as default values rad has assigned for
       us.  Also, we will see the list of commands that rad would have executed had the -n option
       not  been present.  (Note if the octree, "tutor.oct", is not present, an error will result
       as it is needed to determine some of the opiton settings.)

       Different option combinations have specific uses, ie:

         rad -v 0 sample.rif OPT=samp.opt   # build octree, put options in "sample.opt"
         rad -n -e -s sample.rif > full.rif # make a complete rad file
         rad -n sample.rif > script.sh # make a script of commands
         rad -V -v Zl -n -s sample.rif > plan.vf # make a plan view file
         rad -t sample.rif        # update files after minor change to input
         rad -s sample.rif &      # execute silently in the background
         rad -N 2 sample.rif # render views using two parallel rpict calls
         rad -N 4 -v 1 sample.rif # render first view with four rpiece calls

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

          QUAL= MED      # default was low
          DET= low       # default was medium - our space is almost empty
          PEN= True      # we want to see soft shadows from our window
          VAR= hi        # daylight can result in fairly harsh lighting
          view= XYa -vv 120   # let's try a fisheye view
          PICT= tutor         # our picture name will be "tutor_XYa.hdr"

       Note the use of abbreviations, and the modification of a standard view.  Now we can invoke
       rad to take a look at our scene interactively with rvu:

         rad -o x11 sample.rif

       Rad will run oconv first to create the octree (assuming it doesn't  already  exist),  then
       rvu  with  a  long list of options.  Let's say that from within rvu, we wrote out the view
       files "view1.vp" and "view2.vp".  We could add these to "sample.rif" like so:

         view= vw1 -vf view1.vp        # Our first view
         view= vw2 -vf view2.vp        # Our second view
         RESOLUTION= 1024         # Let's go for a higher resolution result

       To start rvu again using vw2 instead of the default, we use:

         rad -o x11 -v vw2 sample.rif

       Once we are happy with the variable settings in our file, we can run rad in the background
       to produce one image for each view:

         rad sample.rif REP=5 >& errfile &

       This will report progress every five minutes to "errfile".

FILES

       $(PICTURE)_$(view).unf   Unfinished output of rpict

AUTHOR

       Greg Ward

BUGS

       You  cannot  run more than one rad process at a time on the same input file, as the second
       process will attempt to recover the output  files  of  the  first  process,  damaging  the
       results.  The exceptions to this are running interactively via the -o option, or rendering
       different views using the -v option.

       Incremental building of octrees is not supported as it would add  considerable  complexity
       to  rad.   Complicated  scene  builds  should still be left to make(1), which has a robust
       mechanism for handling hierarchical dependencies.  If make is used in this  fashion,  then
       only the "OCTREE" variable of rad is needed.

       The  use  of  some  pfilt  options  is awkward, since the "EXPOSURE" variable results in a
       single pass invocation (the -1 option of pfilt and two passes are  necessary  for  certain
       effects,  such  as  star  patterns.  The way around this problem is to specify a "RAWFILE"
       that is the same as the "PICTURE" variable so that no filtering  takes  place,  then  call
       pfilt  manually.   This  is  preferable  to leaving out the "EXPOSURE" variable, since the
       exposure level is needed to accurately determine the ambient value for rpict.

       The use of upper and lower case naming for  the  standard  views  may  be  problematic  on
       systems that don't distinguish case in filenames.

SEE ALSO

       glrad(1),  make(1), mkillum(1), objview(1), oconv(1), pfilt(1), raddepend(1), ranimate(1),
       rholo(1), rpict(1), rpiece(1), rtrace(1), rvu(1), touch(1), vgaimage(1), ximage(1)