ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/ray.html
(Generate patch)

Comparing ray/doc/ray.html (file contents):
Revision 1.3 by greg, Thu Jan 1 19:31:44 2004 UTC vs.
Revision 1.42 by greg, Fri May 30 16:35:52 2025 UTC

# Line 1 | Line 1
1   <html>
2 + <!-- RCSid $Id$ -->
3   <head>
4   <title>
5 < The RADIANCE 3.5 Synthetic Imaging System
5 > The RADIANCE 6.0 Synthetic Imaging System
6   </title>
7   </head>
8   <body>
9  
9 Copyright � 2003 Regents, University of California
10
10   <p>
11  
12   <h1>
13 < The RADIANCE 3.5 Synthetic Imaging System
13 > The RADIANCE 6.0 Synthetic Imaging System
14   </h1>
15  
16   <p>
17  
18 < Building Technologies Department<br>
18 > Building Technologies Program<br>
19   Lawrence Berkeley National Laboratory<br>
20   1 Cyclotron Rd., 90-3111<br>
21   Berkeley, CA  94720<br>
# Line 84 | Line 83 | The diagram in Figure 1 shows the flow between program
83   (ovals).  
84   The central program is <i>rpict</i>, which produces a picture from a scene
85   description.
86 < <i>Rview</i> is a  variation  of  rpict  that  computes  and displays images
86 > <i>Rvu</i> is a  variation  of  rpict  that  computes  and displays images
87   interactively, and rtrace computes single ray values.
88   Other programs (not shown) connect many of these elements together,
89   such as the executive programs
# Line 149 | Line 148 | It is stored as ASCII  text,  with  the  following bas
148           ...
149   </pre>
150  
151 + <p>
152 +
153   A comment line begins with a pound sign, `#'.
154  
155   <p>
# Line 395 | Line 396 | The basic types are given below.
396          0
397   </pre>
398  
399 + <p>
400          If the modifier is &quot;void&quot;, then surfaces will
401          use the modifiers  given  in  the  original  description.  
402          Otherwise, the modifier specified is used in their  place.  
# Line 439 | Line 441 | The basic types are given below.
441          0
442   </pre>
443  
444 + <p>
445 +
446          If the modifier is &quot;void&quot;, then surfaces will
447          use the modifiers  given  in  the  original  mesh description.  
448          Otherwise, the modifier specified is used in their  place.  
# Line 533 | Line 537 | A material defines the way light interacts with a  sur
537          4 red green blue maxrad
538   </pre>
539  
540 + <p>
541          If maxrad is zero, then the surface will never be tested for shadow,  although  it  may participate in an interreflection calculation.  
542          If maxrad is negative, then the  surface  will never  contribute  to scene illumination.  
543          Glow sources will never illuminate objects on the other side of an illum  surface.  
# Line 566 | Line 571 | A material defines the way light interacts with a  sur
571          </a>
572  
573   <dd>
574 <        Mirror is used for planar surfaces that produce  secondary source reflections.  
574 >        Mirror is used for planar surfaces that produce  virtual source reflections.  
575          This material should be used sparingly, as it may cause the light source calculation to  blow up  if  it is applied to many small surfaces.  
576          This material is only supported for flat surfaces  such  as  <a HREF="#Polygon">polygons</a>  and <a HREF="#Ring">rings</a>.  
577          The arguments are simply the RGB reflectance values, which should be between 0 and 1.  
# Line 581 | Line 586 | This is only appropriate if the surface hides other (m
586          3 red green blue
587   </pre>
588  
589 +        While alternate materials that are reflective will appear as normal,
590 +        indirect rays will use the mirror's reflectance rather than the
591 +        alternate type.
592 +        Transmitting materials are an exception, where both transmission and
593 +        reflection will use the alternate type for all rays not specifically
594 +        targeting virtual light sources.
595 +        In this case, it is important that any reflections be purely specular
596 +        (mirror-like) and equal to the mirror's reflectivity
597 +        to maintain a valid result.
598 +        A pure diffuse reflection may be added if desired.
599 +
600   <p>
601  
602 +        The mirror material type reflects light sources only from the front side
603 +        of a surface, regardless of any alternate material.
604 +        If virtual source generation is desired on both sides, two coincident
605 +        surfaces with opposite normal orientations may be employed to achieve
606 +        this effect.
607 +        The reflectance and alternate material type may be
608 +        different for the overlapped surfaces,
609 +        and the two sides will behave accordingly.
610 +
611 + <p>
612 +
613   <dt>
614          <a NAME="Prism1">
615          <b>Prism1</b>
616          </a>
617  
618   <dd>
619 <        The prism1 material is for  general  light  redirection from prismatic glazings, generating secondary light sources.
619 >        The prism1 material is for  general  light  redirection from prismatic glazings, generating virtual light sources.
620          It can only be used  to  modify  a  planar  surface  
621          (i.e.,  a <a HREF="#Polygon">polygon</a>  or <a HREF="#Ring">disk</a>)
622          and should not result in either light concentration or scattering.  
623          The new direction of the ray  can be  on either side of the material,
624 <        and the definitions must have the correct bidirectional properties to  work  properly with  secondary light sources.  
624 >        and the definitions must have the correct bidirectional properties to  work  properly with virtual light sources.  
625          The arguments give the coefficient for the redirected light and its direction.
626  
627   <pre>
# Line 604 | Line 631 | This is only appropriate if the surface hides other (m
631          n A1 A2 .. An
632   </pre>
633  
634 + <p>
635 +
636          The new direction variables dx, dy and dz need not produce a normalized  vector.  
637          For convenience, the variables DxA, DyA and DzA are defined as the normalized direction to the  target  light  source.  
638          See <a HREF="#Function">section 2.2.1</a> on function files for further information.
# Line 647 | Line 676 | This is only appropriate if the surface hides other (m
676          3  source1  mirror1&gt;source10  mirror2&gt;mirror1&gt;source3
677   </pre>
678  
679 + <p>
680   Normally, only one source is given per mist material, and there is an
681   upper limit of 32 to the total number of active scattering sources.
682   The extinction coefficient, if given, is added the the global
# Line 661 | Line 691 | a perfectly scattering medium (no absorption).
691   The scattering eccentricity parameter will likewise override the global
692   setting if it is present.
693   Scattering eccentricity indicates how much scattered light favors the
694 < forward direction, as fit by the Heyney-Greenstein function:
694 > forward direction, as fit by the Henyey-Greenstein function:
695  
696   <pre>
697          P(theta) = (1 - g*g) / (1 + g*g - 2*g*cos(theta))^1.5
698   </pre>
699  
700 + <p>
701 +
702   A perfectly isotropic scattering medium has a g parameter of 0, and
703   a highly directional material has a g parameter close to 1.
704   Fits to the g parameter may be found along with typical extinction
# Line 681 | Line 713 | cloud types in USGS meteorological tables.
713          0|3|6|7 [ rext gext bext [ ralb galb balb [ g ] ] ]
714   </pre>
715  
716 + <p>
717 +
718   There are two usual uses of the mist type.
719   One is to surround a beam from a spotlight or laser so that it is
720   visible during rendering.
# Line 799 | Line 833 | unless the line integrals consider enclosed geometry.
833  
834   <dd>
835          Trans2 is the anisotropic version of <a HREF="#Trans">trans</a>.  
836 <        The string arguments  are  the same as for plastic2, and the real arguments are the same as  for  trans  but  with  an  additional roughness value.
836 >        The string arguments  are  the same as for <a HREF="#Plastic2">plastic2</a>,
837 >        and the real arguments are the same as  for  trans  but  with  an  additional roughness value.
838  
839   <pre>
840          mod trans2 id
# Line 811 | Line 846 | unless the line integrals consider enclosed geometry.
846   <p>
847  
848   <dt>
849 +        <a NAME="Ashik2">
850 +        <b>Ashik2</b>
851 +        </a>
852 +
853 + <dd>
854 +        Ashik2 is the anisotropic reflectance model by Ashikhmin & Shirley.
855 +        The string arguments are the same as for <a HREF="#Plastic2">plastic2</a>, but the real
856 +        arguments have additional flexibility to specify the specular color.
857 +        Also, rather than roughness, specular power is used, which has no
858 +        physical meaning other than larger numbers are equivalent to a smoother
859 +        surface.
860 +        Unlike other material types, total reflectance is the sum of
861 +        diffuse and specular colors, and should be adjusted accordingly.
862 + <pre>
863 +        mod ashik2 id
864 +        4+ ux uy uz funcfile transform
865 +        0
866 +        8 dred dgrn dblu sred sgrn sblu u-power v-power
867 + </pre>
868 +
869 + <p>
870 +
871 + <dt>
872 +        <a NAME="WGMDfunc">
873 +        <b>WGMDfunc</b>
874 +        </a>
875 +
876 + <dd>
877 +        WGMDfunc is a more programmable version of <a HREF="#Trans2">trans2</a>,
878 +        with separate modifier paths and variables to control each component.
879 +        (WGMD stands for Ward-Geisler-Moroder-Duer, which is the basis for
880 +        this empirical model, similar to previous ones beside Ashik2.)
881 +        The specification of this material is given below.
882 + <pre>
883 +        mod WGMDfunc id
884 +        13+ rs_mod  rs  rs_urough rs_vrough
885 +            ts_mod  ts  ts_urough ts_vrough
886 +            td_mod
887 +            ux uy uz  funcfile  transform
888 +        0
889 +        9+  rfdif gfdif bfdif
890 +            rbdif gbdif bbdif
891 +            rtdif gtdif btdif
892 +            A10 ..
893 + </pre>
894 +
895 + <p>
896 +
897 + The sum of specular reflectance (<I>rs</I>), specular transmittance (<I>ts</I>),
898 + diffuse reflectance (<I>rfdif gfdif bfdif</I> for front and <I>rbdif gbdif bbdif</I> for back)
899 + and diffuse transmittance (<I>rtdif gtdif btdif</I>) should be less than 1 for each
900 + channel.
901 +
902 + <p>
903 +
904 + Unique to this material, separate modifier channels are
905 + provided for each component.
906 + The main modifier is used on the diffuse reflectance, both
907 + front and back.
908 + The <I>rs_mod</I> modifier is used for specular reflectance.
909 + If "void" is given for <I>rs_mod</I>,
910 + then the specular reflection color will be white.
911 + The special "inherit" keyword may also be given, in which case
912 + specular reflectance will share the main modifier.
913 + This behavior is replicated for the specular transmittance modifier
914 + <I>ts_mod</I>, which also has its own independent roughness expressions.
915 + Finally, the diffuse transmittance modifier is given as
916 + <I>td_mod</I>, which may also be "void" or "inherit".
917 + Note that any spectra or color for specular components must be
918 + carried by the named modifier(s).
919 +
920 + <p>
921 +
922 + The main advantage to this material over
923 + <a HREF="#BRTDfunc">BRTDfunc</a> and
924 + other programmable types described below is that the specular sampling is
925 + well-defined, so that all components are fully computed.
926 +
927 + <p>
928 +
929 + <dt>
930          <a NAME="Dielectric">
931          <b>Dielectric</b>
932          </a>
# Line 871 | Line 987 | unless the line integrals consider enclosed geometry.
987          tn = (sqrt(.8402528435+.0072522239*Tn*Tn)-.9166530661)/.0036261119/Tn
988   </pre>
989  
990 + <p>
991 +
992          Standard 88% transmittance glass  has  a  transmissivity  of 0.96.  
993          (A <a HREF="#Patterns">pattern</a> modifying glass will affect the transmissivity.)
994          If a fourth real argument is given,  it  is  interpreted as the index of refraction to use instead of 1.52.
# Line 902 | Line 1020 | unless the line integrals consider enclosed geometry.
1020          4+ red green blue spec A5 ..
1021   </pre>
1022  
1023 + <p>
1024 +
1025          The function refl takes four arguments, the x, y and z
1026          direction towards the incident light, and the solid angle
1027          subtended by the source.
# Line 943 | Line 1063 | unless the line integrals consider enclosed geometry.
1063          6+ red green blue rspec trans tspec A7 ..
1064   </pre>
1065  
1066 + <p>
1067 +
1068          Where trans is the total light transmitted and tspec is  the non-Lambertian  fraction of transmitted light.  
1069          The function brtd should integrate to 1 over each projected hemisphere.
1070  
# Line 970 | Line 1092 | unless the line integrals consider enclosed geometry.
1092               A10 ..
1093   </pre>
1094  
1095 + <p>
1096 +
1097          The variables rrefl, grefl and brefl specify the color coefficients  for  the ideal specular (mirror) reflection of the surface.  
1098          The variables rtrns, gtrns and btrns  specify  the color coefficients for the ideal specular transmission.  
1099          The functions rbrtd, gbrtd and bbrtd take the direction to the incident light (and its solid angle) and  
# Line 1014 | Line 1138 | unless the line integrals consider enclosed geometry.
1138          4+ red green blue spec A5 ..
1139   </pre>
1140  
1141 + <p>
1142 +
1143          The coordinate indices (x1, x2, etc.) are  themselves  functions  of  the  x,  y and z direction to the incident light, plus the solid angle
1144          subtended by the light source (usually ignored).
1145          The data function (func) takes five variables, the
# Line 1055 | Line 1181 | unless the line integrals consider enclosed geometry.
1181   <p>
1182  
1183   <dt>
1184 +        <a NAME="BSDF">
1185 +        <b>BSDF</b>
1186 +        </a>
1187 +
1188 + <dd>
1189 +        The BSDF material type loads an XML (eXtensible Markup Language)
1190 +        file describing a bidirectional scattering distribution function.
1191 +        Real arguments to this material may define additional
1192 +        diffuse components that augment the BSDF data.
1193 +        String arguments are used to define thickness for proxied
1194 +        surfaces and the &quot;up&quot; orientation for the material.
1195 +
1196 + <pre>
1197 +        mod BSDF id
1198 +        6+ thick BSDFfile ux uy uz funcfile transform
1199 +        0
1200 +        0|3|6|9
1201 +                rfdif gfdif bfdif
1202 +                rbdif gbdif bbdif
1203 +                rtdif gtdif btdif
1204 + </pre>
1205 +
1206 + <p>
1207 +        The first string argument is a &quot;thickness&quot; parameter that may be used
1208 +        to hide detail geometry being proxied by an aggregate BSDF material.
1209 +        If a view or shadow ray hits a BSDF proxy with non-zero thickness,
1210 +        it will pass directly through as if the surface were not there.
1211 +        Similar to the illum type, this permits direct viewing and
1212 +        shadow testing of complex geometry.
1213 +        The BSDF is used when a scattered (indirect) ray hits the surface,
1214 +        and any transmitted sample rays will be offset by the thickness amount
1215 +        to avoid the hidden geometry and gather samples from the other side.
1216 +        In this manner, BSDF surfaces can improve the results for indirect
1217 +        scattering from complex systems without sacrificing appearance or
1218 +        shadow accuracy.
1219 +        If the BSDF has transmission and back-side reflection data,
1220 +        a parallel BSDF surface may be
1221 +        placed slightly less than the given thickness away from the front surface
1222 +        to enclose the complex geometry on both sides.
1223 +        The sign of the thickness is important, as it indicates
1224 +        whether the proxied geometry is behind the BSDF
1225 +        surface (when thickness is positive) or in front (when
1226 +        thickness is negative).
1227 + <p>
1228 +        The second string argument is the name of the BSDF file,
1229 +        which is found in the usual auxiliary locations.  The
1230 +        following three string parameters name variables for an
1231 +        &quot;up&quot; vector, which together with the surface
1232 +        normal, define the local coordinate system that orients the
1233 +        BSDF.  These variables, along with the thickness, are defined
1234 +        in a function file given as the next string argument.  An
1235 +        optional transform is used to scale the thickness and
1236 +        reorient the up vector.
1237 + <p>
1238 +        If no real arguments are given, the BSDF is used by itself
1239 +        to determine reflection and transmission.  If there are at
1240 +        least 3 real arguments, the first triplet is an additional
1241 +        diffuse reflectance for the front side.  At least 6 real
1242 +        arguments adds diffuse reflectance to the rear side of the
1243 +        surface.  If there are 9 real arguments, the final triplet
1244 +        will be taken as an additional diffuse transmittance.  All
1245 +        diffuse components as well as the non-diffuse transmission
1246 +        are modified by patterns applied to this material.  The
1247 +        non-diffuse reflection from either side are unaffected.
1248 +        Textures perturb the effective surface normal in the usual
1249 +        way.
1250 + <p>
1251 +        The surface normal of this type is not altered to face the
1252 +        incoming ray, so the front and back BSDF reflections may
1253 +        differ.  (Transmission is identical front-to-back by physical
1254 +        law.) If back visibility is turned off during rendering and
1255 +        there is no transmission or back-side reflection, only then
1256 +        the surface will be invisible from behind.  Unlike other
1257 +        data-driven material types, the BSDF type is fully supported
1258 +        and all parts of the distribution are properly sampled.
1259 + <p>
1260 +
1261 + <dt>
1262 +        <a NAME="aBSDF">
1263 +        <b>aBSDF</b>
1264 +        </a>
1265 +
1266 + <dd>
1267 +        The aBSDF material is identical to the BSDF type with two
1268 +        important differences.  First, proxy geometry is not
1269 +        supported, so there is no thickness parameter.  Second, an
1270 +        aBSDF is assumed to have some specular through component
1271 +        (the &rsquo;a&rsquo; stands for &quot;aperture&quot;),
1272 +        which is treated specially during the direct calculation
1273 +        and when viewing the material.  Based on the BSDF data, the
1274 +        coefficient of specular transmission is determined and used
1275 +        for modifying unscattered shadow and view rays.
1276 +
1277 + <pre>
1278 +        mod aBSDF id
1279 +        5+ BSDFfile ux uy uz funcfile transform
1280 +        0
1281 +        0|3|6|9
1282 +             rfdif gfdif bfdif
1283 +             rbdif gbdif bbdif
1284 +             rtdif gtdif btdif
1285 + </pre>
1286 +
1287 + <p>
1288 +        If a material has no specular transmitted component, it is
1289 +        much better to use the BSDF type with a zero thickness
1290 +        than to use aBSDF.
1291 + <p>
1292 +
1293 + <dt>
1294          <a NAME="Antimatter">
1295          <b>Antimatter</b>
1296          </a>
# Line 1070 | Line 1306 | unless the line integrals consider enclosed geometry.
1306          0
1307   </pre>
1308  
1309 + <p>
1310 +
1311          The first modifier will also be used to shade  the  area  leaving the  antimatter  volume and entering the regular volume.  
1312          If mod1 is void, the antimatter volume is completely invisible.
1313          Antimatter  does  not  work  properly with the material type <a HREF="#Trans">&quot;trans&quot;</a>,
# Line 1124 | Line 1362 | A texture is a perturbation of the surface normal,  an
1362          n A1 A2 .. An
1363   </pre>
1364  
1365 + <p>
1366 +
1367   </dl>
1368  
1369   <p>
# Line 1263 | Line 1503 | A colorfunc is a procedurally  defined  color  pattern
1503                  [spacing]
1504   </pre>
1505  
1506 + <p>
1507 +
1508   or:
1509  
1510   <pre>
# Line 1300 | Line 1542 | or:
1542                  [spacing]
1543   </pre>
1544  
1545 + <p>
1546 +
1547   or:
1548  
1549   <pre>
# Line 1328 | Line 1572 | or:
1572          A section of text meant to  depict  a  picture, perhaps using a special purpose font such as hexbit4x1.fnt, calls for uniform  spacing.  
1573          Reasonable  magnitudes  for  proportional  spacing are between 0.1 (for tightly spaced characters) and 0.3 (for wide spacing).
1574  
1575 + <p>
1576 +
1577 + <dt>
1578 +        <a NAME="Spectrum">
1579 +        <b>Spectrum</b>
1580 +        </a>
1581 +
1582 + <dd>
1583 +        The spectrum primitive is the most basic type for introducing spectral
1584 +        color to a material.
1585 +        Since materials only provide RGB parameters, spectral patterns
1586 +        are the only way to superimpose wavelength-dependent behavior.
1587 +
1588 + <pre>
1589 +        mod spectrum id
1590 +        0
1591 +        0
1592 +        5+ nmA nmB s1 s2 .. sN
1593 + </pre>
1594 +
1595 + <p>
1596 +        The first two real arguments indicate the extrema of the
1597 +        spectral range in nanometers.
1598 +        Subsequent real values correspond to multipliers at each wavelength.
1599 +        The nmA wavelength may be greater or less than nmB,
1600 +        but they may not be equal, and their ordering matches
1601 +        the order of the spectral values.
1602 +        A minimum of 3 values must be given, which would act
1603 +        more or less the same as a constant RGB multiplier.
1604 +        As with RGB values, spectral quantities normally range between 0
1605 +        and 1 at each wavelength, or average to 1.0 against a standard
1606 +        sensitivity functions such as V(lambda).
1607 +        The best results obtain when the spectral range and number
1608 +        of samples match rendering options, though resampling will handle
1609 +        any differences, zero-filling wavelenths outside the nmA to nmB
1610 +        range.
1611 +        A warning will be issued if the given wavelength range does not
1612 +        adequately cover the visible spectrum.
1613 +
1614 + <p>
1615 +
1616 + <dt>
1617 +        <a NAME="Specfile">
1618 +        <b>Specfile</b>
1619 +        </a>
1620 +
1621 + <dd>
1622 +        The specfile primitive is equivalent to the spectrum type, but
1623 +        the wavelength range and values are contained in a 1-dimensional
1624 +        data file.
1625 +        This may be a more convenient way to specify a spectral color,
1626 +        especially one corresponding to a standard illuminant such as D65
1627 +        or a library of measured spectra.
1628 +
1629 + <pre>
1630 +        mod specfile id
1631 +        1 datafile
1632 +        0
1633 +        0
1634 + </pre>
1635 +
1636 + <p>
1637 +        As with the spectrum type, rendering wavelengths outside the defined
1638 +        range will be zero-filled.
1639 +        Unlike the spectrum type, the file may contain non-uniform samples.
1640 +
1641 + <p>
1642 +
1643 + <dt>
1644 +        <a NAME="Specfunc">
1645 +        <b>Specfunc</b>
1646 +        </a>
1647 +
1648 + <dd>
1649 +        The specfunc primitive offers dynamic control over a spectral
1650 +        pattern, similar to the colorfunc type.
1651 +
1652 + <pre>
1653 +        mod specfunc id
1654 +        2+ sfunc funcfile transform
1655 +        0
1656 +        2+ nmA nmB A3 ..
1657 + </pre>
1658 +
1659 + <p>
1660 +        Like the spectrum primitive, the wavelength range is specified
1661 +        in the first two real arguments, and additional real values are
1662 +        set in the evaluation context.
1663 +        This function is fed a wavelenth sample
1664 +        between nmA and nmB as its only argument,
1665 +        and it returns the corresponding spectral intensity.
1666 +
1667 + <dt>
1668 +       <a NAME="Specdata">
1669 +       <b>Specdata</b>
1670 +       </a>
1671 +
1672 + <dd>
1673 +        Specdata is like brightdata and colordata, but with more
1674 +        than 3 specular samples.
1675 +
1676 + <pre>
1677 +        mod specdata id
1678 +        3+n+
1679 +                func datafile
1680 +                funcfile x1 x2 .. xn transform
1681 +        0
1682 +        m A1 A2 .. Am
1683 + </pre>
1684 +
1685 + <p>
1686 +        The data file must have one more dimension than the coordinate
1687 +        variable count, as this final dimension corresponds to the covered
1688 +        spectrum.
1689 +        The starting and ending wavelengths are specified in "datafile"
1690 +        as well as the number of spectral samples.
1691 +        The function "func" will be called with two parameters, the
1692 +        interpolated spectral value for the current coordinate and the
1693 +        associated wavelength.
1694 +        If the spectrum is broken into 12 components, then 12 calls
1695 +        will be made to "func" for the relevant ray evaluation.
1696 +
1697 + <dt>
1698 +       <a NAME="Specpict">
1699 +       <b>Specpict</b>
1700 +       </a>
1701 +
1702 + <dd>
1703 +        Specpict is a special case of specdata, where the pattern is
1704 +        a hyperspectral image stored in the common-exponent file format.
1705 +        The dimensions of the image data are determined by the picture
1706 +        just as with the colorpict primitive.
1707 +
1708 + <pre>
1709 +        mod specpict id
1710 +        5+
1711 +                func specfile
1712 +                funcfile u v transform
1713 +        0
1714 +        m A1 A2 .. Am
1715 + </pre>
1716 +
1717 + <p>
1718 +        The function "func" is called with the interpolated pixel value
1719 +        and the wavelength sample in nanometers, the same as specdata,
1720 +        with as many calls made as there are components in "specfile".
1721 +
1722   </dl>
1723  
1724   <p>
# Line 1338 | Line 1729 | or:
1729   </h4>
1730  
1731   A mixture is a blend of one or more materials or textures and patterns.
1732 + Blended materials should not be light source types or virtual source types.
1733   The basic types are given below.
1734  
1735   <p>
# Line 1359 | Line 1751 | A mixfunc mixes  two  modifiers  procedurally.   It  i
1751          n A1 A2 .. An
1752   </pre>
1753  
1754 + <p>
1755 +
1756          Foreground and background are modifier names that must be
1757          defined earlier in the scene description.
1758          If one of these is a material, then
# Line 1367 | Line 1761 | A mixfunc mixes  two  modifiers  procedurally.   It  i
1761          which serves as a form of opacity control when used with a material.)
1762          Vname is the coefficient defined in funcfile that determines  the  influence  of  foreground.  
1763          The background coefficient is always (1-vname).  
1370        Since the references are not resolved until run-time,  the  last  definitions  of  the modifier id's will be used.  
1371        This can result in modifier loops, which are detected by the renderer.
1764  
1765   <p>
1766  
# Line 1389 | Line 1781 | A mixfunc mixes  two  modifiers  procedurally.   It  i
1781          m A1 A2 .. Am
1782   </pre>
1783  
1784 + <p>
1785 +
1786   <dt>
1787          <a NAME="Mixpict">
1788          <b>Mixpict</b>
# Line 1412 | Line 1806 | A mixfunc mixes  two  modifiers  procedurally.   It  i
1806          arguments, the red, green and blue values
1807          corresponding to the pixel at (u,v).
1808  
1415 </dl>
1809   <p>
1810  
1811   <dt>
# Line 1434 | Line 1827 | A mixfunc mixes  two  modifiers  procedurally.   It  i
1827                  [spacing]
1828   </pre>
1829  
1830 + <p>
1831 +
1832   or:
1833  
1834   <pre>
# Line 1449 | Line 1844 | or:
1844                  [spacing]
1845   </pre>
1846  
1847 + <p>
1848 +
1849   </dl>
1850  
1851   <p>
# Line 1493 | Line 1890 | An example function file is given below:
1890          cfunc(x) : 10*x / sqrt(x) ;
1891   </pre>
1892  
1893 + <p>
1894 +
1895   Many variables and functions are already defined by the program, and they are listed in the file rayinit.cal.  
1896   The following variables are particularly important:
1897  
# Line 1507 | Line 1906 | The following variables are particularly important:
1906                  arg(i)                  - i'th real argument
1907   </pre>
1908  
1909 + <p>
1910 +
1911   For mesh objects, the local surface coordinates are available:
1912  
1913   <pre>
1914                  Lu, Lv                  - local (u,v) coordinates
1915   </pre>
1916  
1917 + <p>
1918 +
1919   For BRDF types, the following variables are defined as well:
1920  
1921   <pre>
# Line 1521 | Line 1924 | For BRDF types, the following variables are defined as
1924                  CrP, CgP, CbP           - perturbed material color
1925   </pre>
1926  
1927 + <p>
1928 +
1929   A unique context is set up for each file so
1930   that  the  same variable may appear in different
1931   function files without conflict.  
# Line 1530 | Line 1935 | If no file is needed by a given primitive because all
1935   the  required  variables  are global,  
1936   a  period  (`.')  can be given in place of the file name.  
1937   It is also possible to give an expression instead
1938 < of a  straight  variable  name  in  a scene file,
1939 < although such expressions should be kept
1535 < simple if possible.
1536 < Also, functions (requiring parameters) must be given
1938 > of a  straight  variable  name  in  a scene file.
1939 > Functions (requiring parameters) must be given
1940   as names and not as expressions.
1941  
1942   <p>
# Line 1577 | Line 1980 | The basic data file format is as follows:
1980          DATA, later dimensions changing faster.
1981   </pre>
1982  
1983 + <p>
1984 +
1985   N is the number of  dimensions.  
1986   For  each  dimension,  the beginning  and  ending  coordinate  values and the dimension size is given.  
1987   Alternatively, individual coordinate  values can  be  given when the points are not evenly spaced.  
# Line 1605 | Line 2010 | All numbers are decimal integers:
2010           ...
2011   </pre>
2012  
2013 + <p>
2014 +
2015   The ASCII codes can appear in any order.  N is the number of vertices,  and  the  last  is automatically connected to the first.  
2016   Separate polygonal sections are joined by coincident sides.  
2017   The  character  coordinate  system is a square with lower left corner at (0,0), lower right at (255,0) and upper right at (255,255).
# Line 1680 | Line 2087 | The details of this process  are  not  important, but
2087   directs the use of a scene description.
2088   <ul>
2089   <li>
2090 < <a NAME="rvu" HREF="../man_html/rvu.1.html"><b>Rview</b></a>  is  ray-tracing  program  for  viewing  a  scene interactively.  
2090 > <a NAME="rvu" HREF="../man_html/rvu.1.html"><b>Rvu</b></a>  is  ray-tracing  program  for  viewing  a  scene interactively.  
2091   When  the user specifies a new perspective, rvu quickly displays a rough image on the  terminal,  
2092   then progressively increases the resolution as the user looks on.
2093   He can select a particular section of the image to  improve, or  move  to  a different view and start over.  
# Line 1716 | Line 2123 | Pictures may be displayed directly under X11 using the
2123   or converted a standard image format using one of the following
2124   <b>translators</b>:
2125          <ul>
2126 <        <li> <b>Ra_avs</b>
2127 <                converts to and from AVS image format.
1721 <        <li> <a HREF="../man_html/ra_pict.1.html"><b>Ra_pict</b></a>
1722 <                converts to Macintosh 32-bit PICT2 format.
2126 >        <li> <a HREF="../man_html/ra_bmp.1.html"><b>Ra_bmp</b></a>
2127 >                converts to and from BMP image format.
2128          <li> <a HREF="../man_html/ra_ppm.1.html"><b>Ra_ppm</b></a>
2129                  converts to and from Poskanzer Portable Pixmap formats.
1725        <li> <a HREF="../man_html/ra_pr.1.html"><b>Ra_pr</b></a>
1726                converts to and from Sun 8-bit rasterfile format.
1727        <li> <a HREF="../man_html/ra_pr24.1.html"><b>Ra_pr24</b></a>
1728                converts to and from Sun 24-bit rasterfile format.
2130          <li> <a HREF="../man_html/ra_ps.1.html"><b>Ra_ps</b></a>
2131                  converts to PostScript color and greyscale formats.
2132          <li> <a HREF="../man_html/ra_rgbe.1.html"><b>Ra_rgbe</b></a>
# Line 1751 | Line 2152 | or converted a standard image format using one of the
2152   <pre>
2153   The Radiance Software License, Version 1.0
2154  
2155 < Copyright (c) 1990 - 2002 The Regents of the University of California,
2155 > Copyright (c) 1990 - 2021 The Regents of the University of California,
2156   through Lawrence Berkeley National Laboratory.   All rights reserved.
2157  
2158   Redistribution and use in source and binary forms, with or without
# Line 1785 | Line 2186 | are met:
2186        nor may &quot;Radiance&quot; appear in their name, without prior written
2187        permission of Lawrence Berkeley National Laboratory.
2188  
2189 < THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
2189 > THIS SOFTWARE IS PROVIDED ``AS IS&quot; AND ANY EXPRESSED OR IMPLIED
2190   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
2191   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2192   DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
# Line 1799 | Line 2200 | OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE PO
2200   SUCH DAMAGE.
2201   </pre>
2202  
2203 + <p>
2204 +
2205   <hr>
2206  
2207   <h2>
# Line 1824 | Line 2227 | Ecole  Polytechnique  Federale de Lausanne (EPFL Unive
2227   </h2>
2228   <p>
2229   <ul>
2230 +    <li>Ward, Gregory J., Bruno Bueno, David Geisler-Moroder,
2231 +      Lars O. Grobe, Jacob C. Jonsson, Eleanor
2232 +      S. Lee, Taoning Wang, Helen Rose Wilson,
2233 +      &quot;<a href="https://doi.org/10.1016/j.enbuild.2022.111890">Daylight
2234 +      Simulation Workflows Incorporating Measured Bidirectional
2235 +      Scattering Distribution Functions</a>&quot;
2236 +      <em>Energy &amp; Buildings</em>, Vol. 259, No. 11890, 2022.
2237 +    <li>Wang, Taoning, Gregory Ward, Eleanor Lee,
2238 +      &quot;<a href="https://authors.elsevier.com/a/1XQ0a1M7zGwT7v">Efficient
2239 +      modeling of optically-complex, non-coplanar exterior shading:
2240 +      Validation of matrix algebraic methods</a>&quot;
2241 +      <em>Energy & Buildings</em>, vol. 174, pp. 464-83, Sept. 2018.
2242 +    <li>Lee, Eleanor S., David Geisler-Moroder, Gregory Ward,
2243 +      &quot;<a href="https://eta.lbl.gov/sites/default/files/publications/solar_energy.pdf">Modeling
2244 +      the direct sun component in buildings using matrix
2245 +      algebraic approaches: Methods and
2246 +      validation</a>,&quot; <em>Solar Energy</em>,
2247 +      vol. 160, 15 January 2018, pp 380-395.
2248 +    <li>Narain, Rahul, Rachel A. Albert, Abdullah Bulbul,
2249 +       Gregory J. Ward, Marty Banks, James F. O'Brien,
2250 +       &quot;<a href="http://graphics.berkeley.edu/papers/Narain-OPI-2015-08/index.html">Optimal
2251 +       Presentation of Imagery with Focus
2252 +       Cues on Multi-Plane Displays</a>,&quot;
2253 +       <em>SIGGRAPH 2015</em>.
2254 +    <li>Ward, Greg, Murat Kurt, and Nicolas Bonneel,
2255 +        &quot;<a href="papers/WMAM14_Tensor_Tree_Representation.pdf">Reducing
2256 +        Anisotropic BSDF Measurement to Common Practice</a>,&quot;
2257 +        <em>Workshop on Material Appearance Modeling</em>, 2014.
2258 +    <li>Banks, Martin, Abdullah Bulbul, Rachel Albert, Rahul Narain,
2259 +        James F. O'Brien, Gregory Ward,
2260 +        &quot;<a href="http://graphics.berkeley.edu/papers/Banks-TPO-2014-05/index.html">The
2261 +        Perception of Surface Material from Disparity and Focus Cues</a>,&quot;
2262 +        <em>VSS 2014</em>.
2263 +    <li>McNeil, A., C.J. Jonsson, D. Appelfeld, G. Ward, E.S. Lee,
2264 +        &quot;<a href="http://gaia.lbl.gov/btech/papers/4414.pdf">
2265 +        A validation of a ray-tracing tool used to generate
2266 +        bi-directional scattering distribution functions for
2267 +        complex fenestration systems</a>,&quot;
2268 +        <em>Solar Energy</em>, 98, 404-14,
2269 +        November 2013.
2270 +    <li>Ward, G., R. Mistrick, E.S. Lee, A. McNeil, J. Jonsson,
2271 +        &quot;<a href="http://gaia.lbl.gov/btech/papers/4414.pdf">Simulating
2272 +        the Daylight Performance of Complex Fenestration Systems
2273 +        Using Bidirectional Scattering Distribution Functions within
2274 +        Radiance</a>,&quot;
2275 +        <em>Leukos</em>, 7(4)
2276 +        April 2011.
2277 +    <li>Cater, Kirsten, Alan Chalmers, Greg Ward,
2278 +        &quot;<a href="http://www.anyhere.com/gward/papers/egsr2003.pdf">Detail to Attention:
2279 +        Exploiting Visual Tasks for Selective Rendering</a>,&quot;
2280 +        <em>Eurographics Symposium
2281 +        on Rendering 2003</em>, June 2003.
2282      <li>Ward, Greg, Elena Eydelberg-Vileshin,
2283 <        ``<a HREF="http://viz.cs.berkeley.edu/~gwlarson/papers/egwr02/index.html">Picture Perfect RGB
2284 <        Rendering Using Spectral Prefiltering and Sharp Color Primaries</a>,''
2283 >        &quot;<a HREF="http://www.anyhere.com/gward/papers/egwr02/index.html">Picture Perfect RGB
2284 >        Rendering Using Spectral Prefiltering and Sharp Color Primaries</a>,&quot;
2285          Thirteenth Eurographics Workshop on Rendering (2002),
2286          P. Debevec and S. Gibson (Editors), June 2002.
2287      <li>Ward, Gregory,
2288 <        ``<a HREF="http://viz.cs.berkeley.edu/~gwlarson/papers/cic01.pdf">High Dynamic Range Imaging</a>,''
2288 >        &quot;<a HREF="http://www.anyhere.com/gward/papers/cic01.pdf">High Dynamic Range Imaging</a>,&quot;
2289          Proceedings of the Ninth Color Imaging Conference, November 2001.
2290      <li>Ward, Gregory and Maryann Simmons,
2291 <        ``<a HREF="http://viz.cs.berkeley.edu/~gwlarson/papers/tog99.pdf">
2291 >        &quot;<a HREF="http://www.anyhere.com/gward/papers/tog99.pdf">
2292          The Holodeck Ray Cache: An Interactive Rendering System for Global Illumination in Nondiffuse
2293 <        Environments</a>,'' ACM Transactions on Graphics, 18(4):361-98, October 1999.
2294 <    <li>Larson, G.W., ``<a HREF="http://viz.cs.berkeley.edu/~gwlarson/papers/ewp98.pdf">The Holodeck: A Parallel
2295 <        Ray-caching Rendering System</a>,'' Proceedings of the Second
2293 >        Environments</a>,&quot; ACM Transactions on Graphics, 18(4):361-98, October 1999.
2294 >    <li>Larson, G.W., &quot;<a HREF="http://www.anyhere.com/gward/papers/ewp98.pdf">The Holodeck: A Parallel
2295 >        Ray-caching Rendering System</a>,&quot; Proceedings of the Second
2296          Eurographics Workshop on Parallel Graphics and Visualisation,
2297          September 1998.
2298      <li>Larson, G.W. and R.A. Shakespeare,
# Line 1845 | Line 2300 | Ecole  Polytechnique  Federale de Lausanne (EPFL Unive
2300          the Art and Science of Lighting Visualization</em></a>,
2301          Morgan Kaufmann Publishers, 1998.
2302      <li>Larson, G.W., H. Rushmeier, C. Piatko,
2303 <        ``<a HREF="http://radsite.lbl.gov/radiance/papers/lbnl39882/tonemap.pdf">A Visibility
2303 >        &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/lbnl39882/tonemap.pdf">A Visibility
2304          Matching Tone Reproduction Operator for
2305 <        High Dynamic Range Scenes</a>,'' LBNL Technical Report 39882,
2305 >        High Dynamic Range Scenes</a>,&quot; LBNL Technical Report 39882,
2306          January 1997.
2307 <    <li>Ward, G., ``<a HREF="http://radsite.lbl.gov/radiance/papers/erw95.1/paper.html">Making
2308 <        Global Illumination User-Friendly</a>,'' Sixth
2307 >    <li>Ward, G., &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/erw95.1/paper.html">Making
2308 >        Global Illumination User-Friendly</a>,&quot; Sixth
2309          Eurographics Workshop on Rendering, Springer-Verlag,
2310          Dublin, Ireland, June 1995.</li>
2311      <li>Rushmeier, H., G. Ward, C. Piatko, P. Sanders, B. Rust,
2312 <        ``<a HREF="http://radsite.lbl.gov/mgf/compare.html">
2312 >        &quot;<a HREF="http://radsite.lbl.gov/mgf/compare.html">
2313          Comparing Real and Synthetic Images: Some Ideas about
2314 <        Metrics</a>,'' Sixth Eurographics Workshop on Rendering,
2314 >        Metrics</a>,&quot; Sixth Eurographics Workshop on Rendering,
2315          Springer-Verlag, Dublin, Ireland, June 1995.</li>
2316 <    <li>Ward, G., ``<a HREF="http://radsite.lbl.gov/radiance/papers/sg94.1/paper.html">The RADIANCE
2317 <        Lighting Simulation and Rendering System</a>,'' <em>Computer
2316 >    <li>Ward, G., &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/sg94.1/paper.html">The RADIANCE
2317 >        Lighting Simulation and Rendering System</a>,&quot; <em>Computer
2318          Graphics</em>, July 1994.</li>
2319 <    <li>Rushmeier, H., G. Ward, ``<a HREF="http://radsite.lbl.gov/radiance/papers/sg94.2/energy.html">Energy
2320 <        Preserving Non-Linear Filters</a>,'' <em>Computer
2319 >    <li>Rushmeier, H., G. Ward, &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/sg94.2/energy.html">Energy
2320 >        Preserving Non-Linear Filters</a>,&quot; <em>Computer
2321          Graphics</em>, July 1994.</li>
2322 <    <li>Ward, G., ``A Contrast-Based Scalefactor for Luminance
2323 <        Display,'' <em>Graphics Gems IV</em>, Edited by Paul Heckbert,
2322 >    <li>Ward, G., &quot;A Contrast-Based Scalefactor for Luminance
2323 >        Display,&quot; <em>Graphics Gems IV</em>, Edited by Paul Heckbert,
2324          Academic Press 1994.</li>
2325 <    <li>Ward, G., ``<a HREF="http://radsite.lbl.gov/radiance/papers/sg92/paper.html">Measuring and
2326 <        Modeling Anisotropic Reflection</a>,'' <em>Computer
2325 >    <li>Ward, G., &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/sg92/paper.html">Measuring and
2326 >        Modeling Anisotropic Reflection</a>,&quot; <em>Computer
2327          Graphics</em>, Vol. 26, No. 2, July 1992. </li>
2328 <    <li>Ward, G., P. Heckbert, ``<a HREF="http://radsite.lbl.gov/radiance/papers/erw92/paper.html">Irradiance
2329 <        Gradients</a>,'' Third Annual Eurographics Workshop on
2328 >    <li>Ward, G., P. Heckbert, &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/erw92/paper.html">Irradiance
2329 >        Gradients</a>,&quot; Third Annual Eurographics Workshop on
2330          Rendering, Springer-Verlag, May 1992. </li>
2331 <    <li>Ward, G., ``<a HREF="http://radsite.lbl.gov/radiance/papers/erw91/erw91.html">Adaptive Shadow
2332 <        Testing for Ray Tracing</a>'' Photorealistic Rendering in
2331 >    <li>Ward, G., &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/erw91/erw91.html">Adaptive Shadow
2332 >        Testing for Ray Tracing</a>&quot; Photorealistic Rendering in
2333          Computer Graphics, proceedings of 1991 Eurographics
2334          Rendering Workshop, edited by P. Brunet and F.W. Jansen,
2335          Springer-Verlag. </li>
2336 <    <li>Ward, G., ``Visualization,'' <em>Lighting Design and
2336 >    <li>Ward, G., &quot;Visualization,&quot; <em>Lighting Design and
2337          Application</em>, Vol. 20, No. 6, June 1990. </li>
2338 <    <li>Ward, G., F. Rubinstein, R. Clear, ``<a HREF="http://radsite.lbl.gov/radiance/papers/sg88/paper.html">A Ray Tracing Solution for
2339 <        Diffuse Interreflection</a>,'' <em>Computer Graphics</em>,
2338 >    <li>Ward, G., F. Rubinstein, R. Clear, &quot;<a HREF="http://radsite.lbl.gov/radiance/papers/sg88/paper.html">A Ray Tracing Solution for
2339 >        Diffuse Interreflection</a>,&quot; <em>Computer Graphics</em>,
2340          Vol. 22, No. 4, August 1988. </li>
2341 <    <li>Ward, G., F. Rubinstein, ``A New Technique for Computer
2342 <        Simulation of Illuminated Spaces,'' <em>Journal of the
2341 >    <li>Ward, G., F. Rubinstein, &quot;A New Technique for Computer
2342 >        Simulation of Illuminated Spaces,&quot; <em>Journal of the
2343          Illuminating Engineering Society</em>, Vol. 17, No. 1,
2344          Winter 1988. </li>
2345   </ul>
# Line 1922 | Line 2377 | SURFACES       MATERIALS       TEXTURES        PATTERNS        MIXTURES</h4>
2377                  <a HREF="#Plasdata">Plasdata</a>
2378                  <a HREF="#Metdata">Metdata</a>
2379                  <a HREF="#Transdata">Transdata</a>
2380 +                <a HREF="#BSDF">BSDF</a>
2381                  <a HREF="#Antimatter">Antimatter</a>
2382                                  
2383   </pre>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines