Provided by: radiance_4R1+20120125-1.1_amd64 bug

NAME

       mkillum - compute illum sources for a RADIANCE scene

SYNOPSIS

       mkillum [ -n nprocs ][ rtrace options ] octree [ < file .. ]
       mkillum [ rtrace options ] -defaults

DESCRIPTION

       Mkillum  takes  a  prepared  RADIANCE  scene  description and an octree and computes light
       source distributions for  each  surface,  replacing  them  with  secondary  sources  whose
       contributions  can  be  computed  more  efficiently  by rpict(1) and rvu(1).  This type of
       optimization is most useful for windows and skylights which represent concentrated sources
       of  indirect  illumination.   Mkillum is not appropriate for very large sources or sources
       with highly directional distributions.  These are best handled respectively by the ambient
       calculation and the secondary source types in RADIANCE.

       If  the -n option is specified with a value greater than 1, multiple ray tracing processes
       will be used to accelerate computation on a shared memory machine.  Note that there is  no
       benefit to using more processes than there are local CPUs available to do the work.

       Remaining  arguments  to  mkillum  are  interpreted as rendering options for rtrace(1), to
       compute the light distributions for  the  input  surfaces.   These  surfaces  can  be  any
       combination  of  polygons, spheres and rings.  Other surfaces may be included, but mkillum
       cannot compute their distributions.

       By default, mkillum reads from its standard input and writes to its standard  output.   It
       is  possible  to  specify  multiple  input  files  in a somewhat unconventional fashion by
       placing a lesser-than symbol ('<') before the file names.  (Note that this character  must
       be  escaped  from most shells.)  This is necessary so mkillum can tell where the rendering
       arguments end and its own input files begin.

VARIABLES

       Mkillum has a number of parameters that can be changed by comments in the  input  file  of
       the form:

            #@mkillum variable=value option switch{+|-} ..

       String  or  integer  variables  are  separated from their values by the equals sign ('=').
       Options appear by themselves.  Switches are followed either by a plus sign to turn them on
       or a minus sign to turn them off.

       Parameters  are  usually  changed  many  times  within  the  same input file to tailor the
       calculation, specify different labels and so on.  The parameters and  their  meanings  are
       described below.

       o=string  Set  the  output file to string.  All subsequent scene data will be sent to this
                 file.  If this appears in the first comment in the input, nothing will  be  sent
                 to  the standard output.  Note that this is not recommended when running mkillum
                 from rad(1), which expects the output to be on the standard output.

       m=string  Set the material identifier to string.  This name will be used not only  as  the
                 new  surface modifier, but it will also be used to name the distribution pattern
                 and the data files.  The distribution  name  will  be  string  plus  the  suffix
                 ".dist".   The  data  file  will be named string plus possibly an integer plus a
                 ".dat" suffix.  The integer is used to avoid accidently writing over an existing
                 file.  If overwriting the file is desired, use the f variable below.

       f=string  Set  the  data  file name to string.  The next data file will be given this name
                 plus a ".dat" suffix.  Subsequent files will be named  string  plus  an  integer
                 plus  the ".dat" suffix.  An existing file with the same name will be clobbered.
                 This variable may be unset by leaving off the value.  (See also the  m  variable
                 above.)

       a         Produce  secondary  sources  for  all of the surfaces in the input.  This is the
                 default.

       e=string  Produce secondary sources for all surfaces  except  those  modified  by  string.
                 Surfaces modified by string will be passed to the output unchanged.

       i=string  Only produce secondary sources for surfaces modified by string.

       n         Do  not  produce  any secondary sources.  All input will be passed to the output
                 unaffected, except any void surfaces will be removed.

       b=real    Do not produce a secondary source  for  a  surface  if  its  average  brightness
                 (radiance) is less than the value real.

       c={d|a|n} Use  color information according to the given character.  If the character is d,
                 then color information will be  used  in  three  separate  data  files  and  the
                 distribution will be fully characterized in terms of color.  If the character is
                 a, then only the average color is computed and the distribution will not contain
                 color  information.   If the character is n, even the average distribution color
                 will be thrown away, producing secondary sources that are completely  uncolored.
                 This may be desirable from a color-balancing point of view.

       d=integer Set  the  number  of  direction samples per projected steradian to integer.  The
                 number of directions stored in the associated data file  will  be  approximately
                 this number multiplied by pi for polygons and rings, and by 4pi for spheres.  If
                 integer is zero, then a  diffuse  source  is  assumed  and  no  distribution  is
                 created.

       d=string  Set  the  surface  Bidirectional  Scattering Distribution Function (BSDF) to the
                 given file.  The RADIANCE library path will be searched if  the  file  does  not
                 begin  with a '.' or '~' character.  This file must contain an LBNL Window 6 XML
                 specification of a valid BSDF for the  given  surface,  and  all  rays  will  be
                 interpreted  through  this  function,  which  may  be  produced  by the Radiance
                 genBSDF(1) program.  The orientation of the BSDF may be controlled  with  the  u
                 setting,  described  below.   If  this  variable has no setting or an integer is
                 specified, mkillum returns to the  default  behavior  of  computing  the  output
                 distribution directly.

       s=integer Set  the  number of ray samples per direction to integer.  This variable affects
                 the accuracy of the distribution  value  for  each  direction  as  well  as  the
                 computation time for mkillum.

       l{+|-}    Switch between light sources and illum sources.  If this switch is enabled (l+),
                 mkillum will use the material type "light" to represent surfaces.   If  disabled
                 (l-), mkillum will use the material type "illum" with the input surface modifier
                 as its alternate material.  The default is l-.

       u=[+|-]{X|Y|Z}
                 The given axis will be considered "up" for the  purposes  of  interpreting  BSDF
                 data specified with the d variable.  The BSDF will be reoriented relative to the
                 surface as necessary to keep the up vector in the vertical plane  that  contains
                 this  axis  and  the  surface normal, corresponding to an azimuth of 90 degrees.
                 The default up vector is +Z.

       t=real    Set the surface thickness to real in world coordinates.  This value is used  for
                 determining  where  to  start  rays that need to begin on the opposite side of a
                 fenestration system, specifically to compute the  incoming  distribution  for  a
                 BSDF  computation.   If  the  thickness is set to 0 and a BSDF contains detailed
                 geometry, it will be translated and output  as  part  of  the  new  description,
                 provided  the  l-  option  is  also  in  effect.  (This currently works only for
                 rectangular polygons.)  The default thickness is 0.

EXAMPLES

       The following command generates illum's corresponding to geometry in the  files  "it1.rad"
       and "it2.rad":

          mkillum -ab 2 -ad 1024 -av .1 .1 .1 basic.oct "<" it1.rad it2.rad > illums.rad

       The  output  file  "illums.rad" would then be combined with the original scene geometry to
       create a more easily rendered composite.

ENVIRONMENT

       RAYPATH        the directories to check for auxiliary files.

AUTHOR

       Greg Ward

ACKNOWLEDGEMENT

       Work on this program was initiated and sponsored by the LESO group at EPFL in Switzerland.

SEE ALSO

       genBSDF(1), oconv(1), rad(1), rpict(1), rtrace(1), rvu(1)