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

Comparing ray/doc/ray.1 (file contents):
Revision 1.19 by greg, Sun Feb 20 06:34:19 2011 UTC vs.
Revision 1.50 by greg, Tue Jul 22 19:43:59 2025 UTC

# Line 1 | Line 1
1 < .\" RCSid "$Id"
1 > .\" RCSid "$Id$"
2   .\" Print using the -ms macro package
3 < .DA 2/17/2011
3 > .DA 07/22/2025
4   .LP
5 < .tl """Copyright \(co 2011 Regents, University of California
5 > .tl """Copyright \(co 2025 Regents, University of California
6   .sp 2
7   .TL
8   The
# Line 422 | Line 422 | mod mirror id
422   0
423   3 red green blue
424   .DE
425 + While alternate materials that are reflective will appear as normal,
426 + indirect rays will use the mirror's reflectance rather than the
427 + alternate type.
428 + Transmitting materials are an exception, where both transmission and
429 + reflection will use the alternate type for all rays not specifically
430 + targeting virtual light sources.
431 + In this case, it is important that any reflections be purely specular
432 + (mirror-like) and equal to the mirror's reflectivity
433 + to maintain a valid result.
434 + A pure diffuse reflection may be added if desired.
435 + .PP
436 + The mirror material type reflects light sources only from the front side
437 + of a surface, regardless of any alternate material.
438 + If virtual source generation is desired on both sides, two coincident
439 + surfaces with opposite normal orientations may be employed to achieve
440 + this effect.
441 + The reflectance and alternate material type may be
442 + different for the overlapped surfaces,
443 + and the two sides will behave accordingly.
444   .LP
445   .UL Prism1
446   .PP
# Line 622 | Line 641 | mod trans2 id
641   8 red green blue spec urough vrough trans tspec
642   .DE
643   .LP
644 + .UL Ashik2
645 + .PP
646 + Ashik2 is the anisotropic reflectance model by Ashikhmin & Shirley.
647 + The string arguments are the same as for plastic2, but the real
648 + arguments have additional flexibility to specify the specular color.
649 + Also, rather than roughness, specular power is used, which has no
650 + physical meaning other than larger numbers are equivalent to a smoother
651 + surface.
652 + Unlike other material types, total reflectance is the sum of
653 + diffuse and specular colors, and should be adjusted accordingly.
654 + .DS
655 + mod ashik2 id
656 + 4+ ux uy uz funcfile transform
657 + 0
658 + 8 dred dgrn dblu sred sgrn sblu u-power v-power
659 + .DE
660 + .LP
661 + .UL WGMDfunc
662 + .PP
663 + WGMDfunc is a more programmable version of trans2,
664 + with separate modifier paths and variables to control each component.
665 + (WGMD stands for Ward-Geisler-Moroder-Duer, which is the basis for
666 + this empirical model, similar to the previous ones beside Ashik2.)\0
667 + The specification of this material is given below.
668 + .DS
669 + mod WGMDfunc id
670 + 13+ rs_mod  rs  rs_urough rs_vrough
671 +    ts_mod  ts  ts_urough ts_vrough
672 +    td_mod
673 +    ux uy uz  funcfile  transform
674 + 0
675 + 9+  rfdif gfdif bfdif
676 +    rbdif gbdif bbdif
677 +    rtdif gtdif btdif
678 +    A10 ..
679 + .DE
680 + The sum of specular reflectance (
681 + .I rs
682 + ), specular transmittance (
683 + .I ts
684 + ), diffuse reflectance (
685 + .I "rfdif gfdif bfdif"
686 + for front and
687 + .I "rbdif gbdif bbdif"
688 + for back)
689 + and diffuse transmittance (
690 + .I "rtdif gtdif btdif"
691 + ) should be less than 1 for each
692 + channel.
693 + .PP
694 + Unique to this material, separate modifier channels are
695 + provided for each component.
696 + The main modifier is used on the diffuse reflectance, both
697 + front and back.
698 + The
699 + .I rs_mod
700 + modifier is used for specular reflectance.
701 + If "void" is given for
702 + .I rs_mod,
703 + then the specular reflection color will be white.
704 + The special "inherit" keyword may also be given, in which case
705 + specular reflectance will share the main modifier.
706 + This behavior is replicated for the specular transmittance modifier
707 + .I ts_mod,
708 + which has its own independent roughness expressions.
709 + Finally, the diffuse transmittance modifier is given as
710 + .I td_mod,
711 + which may also be "void" or "inherit".
712 + Note that any spectra or color for specular components must be
713 + carried by the named modifier(s).
714 + .PP
715 + The main advantage to this material over BRTDfunc and
716 + other programmable types described below is that the specular sampling is
717 + well-defined, so that all components are fully computed.
718 + .LP
719   .UL Dielectric
720   .PP
721   A dielectric material is transparent, and it refracts light
# Line 898 | Line 992 | If the BSDF has transmission and back-side reflection
992   a parallel BSDF surface may be
993   placed slightly less than the given thickness away from the front surface
994   to enclose the complex geometry on both sides.
995 + The sign of the thickness is important, as it indicates whether the
996 + proxied geometry is behind the BSDF surface (when thickness is positive)
997 + or in front (when thickness is negative).
998   .LP
999   The second string argument is the name of the BSDF file, which is
1000   found in the usual auxiliary locations.
# Line 929 | Line 1026 | invisible from behind.
1026   Unlike other data-driven material types, the BSDF type is fully
1027   supported and all parts of the distribution are properly sampled.
1028   .LP
1029 + .UL aBSDF
1030 + .PP
1031 + The aBSDF material is identical to the BSDF type with two important
1032 + differences.
1033 + First, proxy geometry is not supported, so there is no thickness parameter.
1034 + Second, an aBSDF is assumed to have some specular through component
1035 + (the 'a' stands for "aperture"), which
1036 + is treated specially during the direct calculation and when viewing the
1037 + material.
1038 + Based on the BSDF data, the coefficient of specular transmission is
1039 + determined and used for modifying unscattered shadow and view rays.
1040 + .DS
1041 + mod aBSDF id
1042 + 5+ BSDFfile ux uy uz funcfile transform
1043 + 0
1044 + 0|3|6|9
1045 +     rfdif gfdif bfdif
1046 +     rbdif gbdif bbdif
1047 +     rtdif gtdif btdif
1048 + .DE
1049 + .LP
1050 + If a material has no specular transmitted component, it is much better
1051 + to use the BSDF type with a zero thickness than to use aBSDF.
1052 + .LP
1053   .UL Antimatter
1054   .PP
1055   Antimatter is a material that can "subtract" volumes from other volumes.
# Line 943 | Line 1064 | N mod1 mod2 .. modN
1064   The first modifier will also be used to shade the area leaving the
1065   antimatter volume and entering the regular volume.
1066   If mod1 is void, the antimatter volume is completely invisible.
1067 < Antimatter does not work properly with the material type "trans",
1068 < and multiple antimatter surfaces should be disjoint.
1067 > If shading is desired at antimatter surfaces, it is important
1068 > that the related volumes are closed with outward-facing normals.
1069 > Antimatter surfaces should not intersect with other antimatter boundaries,
1070 > and it is unwise to use the same modifier in nested antimatter volumes.
1071   The viewpoint must be outside all volumes concerned for a correct
1072   rendering.
1073   .NH 3
# Line 981 | Line 1104 | and
1104   .I zdfname.
1105   .DS
1106   mod texdata id
1107 < 8+ xfunc yfunc zfunc xdfname ydfname zdfname vfname x0 x1 .. xf
1107 > 8+ xfunc yfunc zfunc xdfname ydfname zdfname funcfile x0 x1 .. xf
1108   0
1109   n A1 A2 .. An
1110   .DE
# Line 1148 | Line 1271 | A section of text meant to depict a picture, perhaps u
1271   font such as hexbit4x1.fnt, calls for uniform spacing.
1272   Reasonable magnitudes for proportional spacing are
1273   between 0.1 (for tightly spaced characters) and 0.3 (for wide spacing).
1274 + .LP
1275 + .UL Spectrum
1276 + .PP
1277 + The spectrum primitive is the most basic type for introducing spectral
1278 + color to a material.
1279 + Since materials only provide RGB parameters, spectral patterns
1280 + are the only way to superimpose wavelength-dependent behavior.
1281 + .DS
1282 + mod spectrum id
1283 + 0
1284 + 0
1285 + 5+ nmA nmB s1 s2 .. sN
1286 + .DE
1287 + The first two real arguments indicate the extrema of the
1288 + spectral range in nanometers.
1289 + Subsequent real values correspond to multipliers at each wavelength.
1290 + The nmA wavelength may be greater or less than nmB,
1291 + but they may not be equal, and their ordering matches
1292 + the order of the spectral values.
1293 + A minimum of 3 values must be given, which would act
1294 + more or less the same as a constant RGB multiplier.
1295 + As with RGB values, spectral quantities normally range between 0
1296 + and 1 at each wavelength, or average to 1.0 against a standard
1297 + sensitivity functions such as V(lambda).
1298 + The best results obtain when the spectral range and number
1299 + of samples match rendering options, though resampling will handle
1300 + any differences, zero-filling wavelenths outside the nmA to nmB
1301 + range.
1302 + A warning will be issued if the given wavelength range does not
1303 + adequately cover the visible spectrum.
1304 + .LP
1305 + .UL Specfile
1306 + .PP
1307 + The specfile primitive is equivalent to the spectrum type, but
1308 + the wavelength range and values are contained in a 1-dimensional
1309 + data file.
1310 + This may be a more convenient way to specify a spectral color,
1311 + especially one corresponding to a standard illuminant such as D65
1312 + or a library of measured spectra.
1313 + .DS
1314 + mod specfile id
1315 + 1 datafile
1316 + 0
1317 + 0
1318 + .DE
1319 + As with the spectrum type, rendering wavelengths outside the defined
1320 + range will be zero-filled.
1321 + Unlike the spectrum type, the file may contain non-uniform samples.
1322 + .LP
1323 + .UL Specfunc
1324 + .PP
1325 + The specfunc primitive offers dynamic control over a spectral
1326 + pattern, similar to the colorfunc type.
1327 + .DS
1328 + mod specfunc id
1329 + 2+ sfunc funcfile transform
1330 + 0
1331 + 2+ nmA nmB A3 ..
1332 + .DE
1333 + Like the spectrum primitive, the wavelength range is specified
1334 + in the first two real arguments, and additional real values are
1335 + set in the evaluation context.
1336 + This function is fed a wavelenth sample
1337 + between nmA and nmB as its only argument,
1338 + and it returns the corresponding spectral intensity.
1339 + .LP
1340 + .UL Specdata
1341 + .PP
1342 + Specdata is like brightdata and colordata, but with more
1343 + than 3 specular samples.
1344 + .DS
1345 + mod specdata id
1346 + 3+n+
1347 +        func datafile
1348 +        funcfile x1 x2 .. xn transform
1349 + 0
1350 + m A1 A2 .. Am
1351 + .DE
1352 + The data file must have one more dimension than the coordinate
1353 + variable count, as this final dimension corresponds to the covered
1354 + spectrum.
1355 + The starting and ending wavelengths are specified in "datafile"
1356 + as well as the number of spectral samples.
1357 + The function "func" will be called with two parameters, the
1358 + interpolated spectral value for the current coordinate and the
1359 + associated wavelength.
1360 + If the spectrum is broken into 12 components, then 12 calls
1361 + will be made to "func" for the relevant ray evaluation.
1362 + .LP
1363 + .UL Specpict
1364 + .PP
1365 + Specpict is a special case of specdata, where the pattern is
1366 + a hyperspectral image stored in the common-exponent file format.
1367 + The dimensions of the image data are determined by the picture
1368 + just as with the colorpict primitive.
1369 + .DS
1370 + mod specpict id
1371 + 5+
1372 +        func specfile
1373 +        funcfile u v transform
1374 + 0
1375 + m A1 A2 .. Am
1376 + .DE
1377 + The function "func" is called with the interpolated pixel value
1378 + and the wavelength sample in nanometers, the same as specdata,
1379 + with as many calls made as there are components in "specfile".
1380   .NH 3
1381   Mixtures
1382   .PP
1383   A mixture is a blend of one or more materials or textures and patterns.
1384 + Blended materials should not be light source types or virtual source types.
1385   The basic types are given below.
1386   .LP
1387   .UL Mixfunc
# Line 1484 | Line 1714 | converts to and from Radiance CIE picture format.
1714   License
1715   .PP
1716   .DS
1717 < The Radiance Software License, Version 1.0
1717 > The Radiance Software License, Version 2.0
1718  
1719 < Copyright (c) 1990 - 2008 The Regents of the University of California,
1720 < through Lawrence Berkeley National Laboratory.   All rights reserved.
1719 > Radiance v6.0 Copyright (c) 1990 to 2025, The Regents of the University of
1720 > California, through Lawrence Berkeley National Laboratory (subject to receipt
1721 > of any required approvals from the U.S. Dept. of Energy).  All rights reserved.
1722  
1723   Redistribution and use in source and binary forms, with or without
1724 < modification, are permitted provided that the following conditions
1494 < are met:
1724 > modification, are permitted provided that the following conditions are met:
1725  
1726 < 1. Redistributions of source code must retain the above copyright
1727 <        notice, this list of conditions and the following disclaimer.
1726 > (1) Redistributions of source code must retain the above copyright notice,
1727 > this list of conditions and the following disclaimer.
1728  
1729 < 2. Redistributions in binary form must reproduce the above copyright
1730 <      notice, this list of conditions and the following disclaimer in
1731 <      the documentation and/or other materials provided with the
1502 <      distribution.
1729 > (2) Redistributions in binary form must reproduce the above copyright
1730 > notice, this list of conditions and the following disclaimer in the
1731 > documentation and/or other materials provided with the distribution.
1732  
1733 < 3. The end-user documentation included with the redistribution,
1734 <          if any, must include the following acknowledgment:
1735 <            "This product includes Radiance software
1736 <                (http://radsite.lbl.gov/)
1508 <                developed by the Lawrence Berkeley National Laboratory
1509 <              (http://www.lbl.gov/)."
1510 <      Alternately, this acknowledgment may appear in the software itself,
1511 <      if and wherever such third-party acknowledgments normally appear.
1733 > (3) Neither the name of the University of California, Lawrence Berkeley
1734 > National Laboratory, U.S. Dept. of Energy nor the names of its contributors
1735 > may be used to endorse or promote products derived from this software
1736 > without specific prior written permission.
1737  
1738 < 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
1739 <      and "The Regents of the University of California" must
1740 <      not be used to endorse or promote products derived from this
1741 <      software without prior written permission. For written
1742 <      permission, please contact [email protected].
1738 > THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1739 > AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1740 > IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1741 > ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1742 > LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1743 > CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1744 > SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1745 > INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1746 > CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1747 > ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1748 > POSSIBILITY OF SUCH DAMAGE.
1749  
1750 < 5. Products derived from this software may not be called "Radiance",
1751 <      nor may "Radiance" appear in their name, without prior written
1752 <      permission of Lawrence Berkeley National Laboratory.
1753 <
1754 < THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
1755 < WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1756 < OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1757 < DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
1758 < ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1759 < SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1529 < LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
1530 < USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
1531 < ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1532 < OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1533 < OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1534 < SUCH DAMAGE.
1750 > You are under no obligation whatsoever to provide any bug fixes, patches,
1751 > or upgrades to the features, functionality or performance of the source
1752 > code ("Enhancements") to anyone; however, if you choose to make your
1753 > Enhancements available either publicly, or directly to Lawrence Berkeley
1754 > National Laboratory, without imposing a separate written license agreement
1755 > for such Enhancements, then you hereby grant the following license: a
1756 > non-exclusive, royalty-free perpetual license to install, use, modify,
1757 > prepare derivative works, incorporate into other computer software,
1758 > distribute, and sublicense such enhancements or derivative works thereof,
1759 > in binary and source code form.
1760   .DE
1761   .NH 1
1762   Acknowledgements
# Line 1548 | Line 1773 | the Ecole Polytechnique Federale de Lausanne (EPFL Uni
1773   in Lausanne, Switzerland.
1774   .NH 1
1775   References
1776 + .LP
1777 + Ward, Gregory J., Bruno Bueno, David Geisler-Moroder,
1778 + Lars O. Grobe, Jacob C. Jonsson, Eleanor
1779 + S. Lee, Taoning Wang, Helen Rose Wilson,
1780 + ``Daylight Simulation Workflows Incorporating
1781 + Measured Bidirectional Scattering Distribution Functions,''
1782 + .I "Energy & Buildings",
1783 + Vol. 259, No. 111890, 2022.
1784 + .LP
1785 + Wang, Taoning, Gregory Ward, Eleanor Lee,
1786 + ``Efficient modeling of optically-complex, non-coplanar
1787 + exterior shading: Validation of matrix algebraic methods,''
1788 + .I "Energy & Buildings",
1789 + vol. 174, pp. 464-83, Sept. 2018.
1790 + .LP
1791 + Lee, Eleanor S., David Geisler-Moroder, Gregory Ward,
1792 + ``Modeling the direct sun component in buildings using matrix
1793 + algebraic approaches: Methods and validation,''
1794 + .I Solar Energy,
1795 + vol. 160, 15 January 2018, pp 380-395.
1796 + .LP
1797 + Ward, G., M. Kurt & N. Bonneel,
1798 + ``Reducing Anisotropic BSDF Measurement to Common Practice,''
1799 + .I Workshop on Material Appearance Modeling,
1800 + 2014.
1801 + .LP
1802 + McNeil, A., C.J. Jonsson, D. Appelfeld, G. Ward, E.S. Lee,
1803 + ``A validation of a ray-tracing tool used to generate
1804 + bi-directional scattering distribution functions for
1805 + complex fenestration systems,''
1806 + .I "Solar Energy",
1807 + 98, 404-14, November 2013.
1808 + .LP
1809 + Ward, G., R. Mistrick, E.S. Lee, A. McNeil, J. Jonsson,
1810 + ``Simulating the Daylight Performance of Complex Fenestration Systems
1811 + Using Bidirectional Scattering Distribution Functions within Radiance,''
1812 + .I "Leukos",
1813 + 7(4),
1814 + April 2011.
1815   .LP
1816   Cater, K., A. Chalmers, G. Ward,
1817   ``Detail to Attention: Exploiting Visual Tasks for Selective Rendering,''

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines