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.37 by greg, Mon Oct 8 20:18:27 2018 UTC vs.
Revision 1.50 by greg, Tue Jul 22 19:43:59 2025 UTC

# Line 1 | Line 1
1   .\" RCSid "$Id$"
2   .\" Print using the -ms macro package
3 < .DA 10/08/2018
3 > .DA 07/22/2025
4   .LP
5 < .tl """Copyright \(co 2018 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 630 | Line 649 | arguments have additional flexibility to specify the s
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
# Line 637 | Line 658 | mod ashik2 id
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 1025 | 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 1192 | 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
# Line 1529 | 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
1539 < 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
1547 <      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/)
1553 <                developed by the Lawrence Berkeley National Laboratory
1554 <              (http://www.lbl.gov/)."
1555 <      Alternately, this acknowledgment may appear in the software itself,
1556 <      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
1574 < LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
1575 < USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
1576 < ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1577 < OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1578 < OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1579 < 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 1593 | 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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines