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.36 by greg, Tue Dec 12 20:12:47 2023 UTC vs.
Revision 1.39 by greg, Mon Dec 9 19:21:38 2024 UTC

# Line 834 | Line 834 | unless the line integrals consider enclosed geometry.
834   <p>
835  
836   <dt>
837 +        <a NAME="WGMDfunc">
838 +        <b>WGMDfunc</b>
839 +        </a>
840 +
841 + <dd>
842 +        WGMDfunc is a more programmable version of <a HREF="#Trans2">trans2</a>,
843 +        with separate modifier paths and variables to control each component.
844 +        (WGMD stands for Ward-Geisler-Moroder-Duer, which is the basis for
845 +        this empirical model, similar to previous ones beside Ashik2.)
846 +        The specification of this material is given below.
847 + <pre>
848 +        mod WGMDfunc id
849 +        13+ rs_mod  rs  rs_urough rs_vrough
850 +            ts_mod  ts  ts_urough ts_vrough
851 +            td_mod
852 +            ux uy uz  funcfile  transform
853 +        0
854 +        9+  rfdif gfdif bfdif
855 +            rbdif gbdif bbdif
856 +            rtdif gtdif btdif
857 +            A10 ..
858 + </pre>
859 +
860 + The sum of specular reflectance (<I>rs</I>), specular transmittance (<I>ts</I>),
861 + diffuse reflectance (<I>rfdif gfdif bfdif</I> for front and <I>rbdif gbdif bbdif</I> for back)
862 + and diffuse transmittance (<I>rtdif gtdif btdif</I>) should be less than 1 for each
863 + channel.
864 +
865 + <p>
866 +
867 + Unique to this material, separate modifier channels are
868 + provided for each component.
869 + The main modifier is used on the diffuse reflectance, both
870 + front and back.
871 + The <I>rs_mod</I> modifier is used for specular reflectance.
872 + If "void" is given for <I>rs_mod</I>,
873 + then the specular reflection color will be white.
874 + The special "inherit" keyword may also be given, in which case
875 + specular reflectance will share the main modifier.
876 + This behavior is replicated for the specular transmittance modifier
877 + <I>ts_mod</I>, which also has its own independent roughness expressions.
878 + Finally, the diffuse transmittance modifier is given as
879 + <I>td_mod</I>, which may also be "void" or "inherit".
880 + Note that any spectra or color for specular components must be
881 + carried by the named modifier(s).
882 +
883 + <p>
884 +
885 + The main advantage to this material over
886 + <a HREF="#BRTDfunc">BRTDfunc</a> and
887 + other programmable types described below is that the specular sampling is
888 + well-defined, so that all components are fully computed.
889 +
890 + <p>
891 +
892 + <dt>
893          <a NAME="Dielectric">
894          <b>Dielectric</b>
895          </a>
# Line 1540 | Line 1596 | or:
1596  
1597   <pre>
1598          mod specfunc id
1599 <        2+ sval funcfile transform
1599 >        2+ sfunc funcfile transform
1600          0
1601          2+ nmA nmB A3 ..
1602   </pre>
# Line 1552 | Line 1608 | or:
1608          This function is fed a wavelenth sample
1609          between nmA and nmB as its only argument,
1610          and it returns the corresponding spectral intensity.
1611 +
1612 + <dt>
1613 +       <a NAME="Specdata">
1614 +       <b>Specdata</b>
1615 +       </a>
1616 +
1617 + <dd>
1618 +        Specdata is like brightdata and colordata, but with more
1619 +        than 3 specular samples.
1620 +
1621 + <pre>
1622 +        mod specdata id
1623 +        3+n+
1624 +                func datafile
1625 +                funcfile x1 x2 .. xn transform
1626 +        0
1627 +        m A1 A2 .. Am
1628 + </pre>
1629 +
1630 + <p>
1631 +        The data file must have one more dimension than the coordinate
1632 +        variable count, as this final dimension corresponds to the covered
1633 +        spectrum.
1634 +        The starting and ending wavelengths are specified in "datafile"
1635 +        as well as the number of spectral samples.
1636 +        The function "func" will be called with two parameters, the
1637 +        interpolated spectral value for the current coordinate and the
1638 +        associated wavelength.
1639 +        If the spectrum is broken into 12 components, then 12 calls
1640 +        will be made to "func" for the relevant ray evaluation.
1641 +
1642 + <dt>
1643 +       <a NAME="Specpict">
1644 +       <b>Specpict</b>
1645 +       </a>
1646 +
1647 + <dd>
1648 +        Specpict is a special case of specdata, where the pattern is
1649 +        a hyperspectral image stored in the common-exponent file format.
1650 +        The dimensions of the image data are determined by the picture
1651 +        just as with the colorpict primitive.
1652 +
1653 + <pre>
1654 +        mod specpict id
1655 +        5+
1656 +                func specfile
1657 +                funcfile u v transform
1658 +        0
1659 +        m A1 A2 .. Am
1660 + </pre>
1661 +
1662 + <p>
1663 +        The function "func" is called with the interpolated pixel value
1664 +        and the wavelength sample in nanometers, the same as specdata,
1665 +        with as many calls made as there are components in "specfile".
1666  
1667   </dl>
1668  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines