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.32 by greg, Thu Aug 17 21:57:19 2017 UTC vs.
Revision 1.47 by greg, Mon Dec 9 19:21:38 2024 UTC

# Line 1 | Line 1
1   .\" RCSid "$Id$"
2   .\" Print using the -ms macro package
3 < .DA 07/10/2016
3 > .DA 12/09/2024
4   .LP
5 < .tl """Copyright \(co 2017 Regents, University of California
5 > .tl """Copyright \(co 2024 Regents, University of California
6   .sp 2
7   .TL
8   The
# Line 630 | Line 630 | arguments have additional flexibility to specify the s
630   Also, rather than roughness, specular power is used, which has no
631   physical meaning other than larger numbers are equivalent to a smoother
632   surface.
633 + Unlike other material types, total reflectance is the sum of
634 + diffuse and specular colors, and should be adjusted accordingly.
635   .DS
636   mod ashik2 id
637   4+ ux uy uz funcfile transform
# Line 637 | Line 639 | mod ashik2 id
639   8 dred dgrn dblu sred sgrn sblu u-power v-power
640   .DE
641   .LP
642 + .UL WGMDfunc
643 + .PP
644 + WGMDfunc is a more programmable version of trans2,
645 + with separate modifier paths and variables to control each component.
646 + (WGMD stands for Ward-Geisler-Moroder-Duer, which is the basis for
647 + this empirical model, similar to the previous ones beside Ashik2.)\0
648 + The specification of this material is given below.
649 + .DS
650 + mod WGMDfunc id
651 + 13+ rs_mod  rs  rs_urough rs_vrough
652 +    ts_mod  ts  ts_urough ts_vrough
653 +    td_mod
654 +    ux uy uz  funcfile  transform
655 + 0
656 + 9+  rfdif gfdif bfdif
657 +    rbdif gbdif bbdif
658 +    rtdif gtdif btdif
659 +    A10 ..
660 + .DE
661 + The sum of specular reflectance (
662 + .I rs
663 + ), specular transmittance (
664 + .I ts
665 + ), diffuse reflectance (
666 + .I "rfdif gfdif bfdif"
667 + for front and
668 + .I "rbdif gbdif bbdif"
669 + for back)
670 + and diffuse transmittance (
671 + .I "rtdif gtdif btdif"
672 + ) should be less than 1 for each
673 + channel.
674 + .PP
675 + Unique to this material, separate modifier channels are
676 + provided for each component.
677 + The main modifier is used on the diffuse reflectance, both
678 + front and back.
679 + The
680 + .I rs_mod
681 + modifier is used for specular reflectance.
682 + If "void" is given for
683 + .I rs_mod,
684 + then the specular reflection color will be white.
685 + The special "inherit" keyword may also be given, in which case
686 + specular reflectance will share the main modifier.
687 + This behavior is replicated for the specular transmittance modifier
688 + .I ts_mod,
689 + which has its own independent roughness expressions.
690 + Finally, the diffuse transmittance modifier is given as
691 + .I td_mod,
692 + which may also be "void" or "inherit".
693 + Note that any spectra or color for specular components must be
694 + carried by the named modifier(s).
695 + .PP
696 + The main advantage to this material over BRTDfunc and
697 + other programmable types described below is that the specular sampling is
698 + well-defined, so that all components are fully computed.
699 + .LP
700   .UL Dielectric
701   .PP
702   A dielectric material is transparent, and it refracts light
# Line 947 | Line 1007 | invisible from behind.
1007   Unlike other data-driven material types, the BSDF type is fully
1008   supported and all parts of the distribution are properly sampled.
1009   .LP
1010 + .UL aBSDF
1011 + .PP
1012 + The aBSDF material is identical to the BSDF type with two important
1013 + differences.
1014 + First, proxy geometry is not supported, so there is no thickness parameter.
1015 + Second, an aBSDF is assumed to have some specular through component
1016 + (the 'a' stands for "aperture"), which
1017 + is treated specially during the direct calculation and when viewing the
1018 + material.
1019 + Based on the BSDF data, the coefficient of specular transmission is
1020 + determined and used for modifying unscattered shadow and view rays.
1021 + .DS
1022 + mod aBSDF id
1023 + 5+ BSDFfile ux uy uz funcfile transform
1024 + 0
1025 + 0|3|6|9
1026 +     rfdif gfdif bfdif
1027 +     rbdif gbdif bbdif
1028 +     rtdif gtdif btdif
1029 + .DE
1030 + .LP
1031 + If a material has no specular transmitted component, it is much better
1032 + to use the BSDF type with a zero thickness than to use aBSDF.
1033 + .LP
1034   .UL Antimatter
1035   .PP
1036   Antimatter is a material that can "subtract" volumes from other volumes.
# Line 1168 | Line 1252 | A section of text meant to depict a picture, perhaps u
1252   font such as hexbit4x1.fnt, calls for uniform spacing.
1253   Reasonable magnitudes for proportional spacing are
1254   between 0.1 (for tightly spaced characters) and 0.3 (for wide spacing).
1255 + .LP
1256 + .UL Spectrum
1257 + .PP
1258 + The spectrum primitive is the most basic type for introducing spectral
1259 + color to a material.
1260 + Since materials only provide RGB parameters, spectral patterns
1261 + are the only way to superimpose wavelength-dependent behavior.
1262 + .DS
1263 + mod spectrum id
1264 + 0
1265 + 0
1266 + 5+ nmA nmB s1 s2 .. sN
1267 + .DE
1268 + The first two real arguments indicate the extrema of the
1269 + spectral range in nanometers.
1270 + Subsequent real values correspond to multipliers at each wavelength.
1271 + The nmA wavelength may be greater or less than nmB,
1272 + but they may not be equal, and their ordering matches
1273 + the order of the spectral values.
1274 + A minimum of 3 values must be given, which would act
1275 + more or less the same as a constant RGB multiplier.
1276 + As with RGB values, spectral quantities normally range between 0
1277 + and 1 at each wavelength, or average to 1.0 against a standard
1278 + sensitivity functions such as V(lambda).
1279 + The best results obtain when the spectral range and number
1280 + of samples match rendering options, though resampling will handle
1281 + any differences, zero-filling wavelenths outside the nmA to nmB
1282 + range.
1283 + A warning will be issued if the given wavelength range does not
1284 + adequately cover the visible spectrum.
1285 + .LP
1286 + .UL Specfile
1287 + .PP
1288 + The specfile primitive is equivalent to the spectrum type, but
1289 + the wavelength range and values are contained in a 1-dimensional
1290 + data file.
1291 + This may be a more convenient way to specify a spectral color,
1292 + especially one corresponding to a standard illuminant such as D65
1293 + or a library of measured spectra.
1294 + .DS
1295 + mod specfile id
1296 + 1 datafile
1297 + 0
1298 + 0
1299 + .DE
1300 + As with the spectrum type, rendering wavelengths outside the defined
1301 + range will be zero-filled.
1302 + Unlike the spectrum type, the file may contain non-uniform samples.
1303 + .LP
1304 + .UL Specfunc
1305 + .PP
1306 + The specfunc primitive offers dynamic control over a spectral
1307 + pattern, similar to the colorfunc type.
1308 + .DS
1309 + mod specfunc id
1310 + 2+ sfunc funcfile transform
1311 + 0
1312 + 2+ nmA nmB A3 ..
1313 + .DE
1314 + Like the spectrum primitive, the wavelength range is specified
1315 + in the first two real arguments, and additional real values are
1316 + set in the evaluation context.
1317 + This function is fed a wavelenth sample
1318 + between nmA and nmB as its only argument,
1319 + and it returns the corresponding spectral intensity.
1320 + .LP
1321 + .UL Specdata
1322 + .PP
1323 + Specdata is like brightdata and colordata, but with more
1324 + than 3 specular samples.
1325 + .DS
1326 + mod specdata id
1327 + 3+n+
1328 +        func datafile
1329 +        funcfile x1 x2 .. xn transform
1330 + 0
1331 + m A1 A2 .. Am
1332 + .DE
1333 + The data file must have one more dimension than the coordinate
1334 + variable count, as this final dimension corresponds to the covered
1335 + spectrum.
1336 + The starting and ending wavelengths are specified in "datafile"
1337 + as well as the number of spectral samples.
1338 + The function "func" will be called with two parameters, the
1339 + interpolated spectral value for the current coordinate and the
1340 + associated wavelength.
1341 + If the spectrum is broken into 12 components, then 12 calls
1342 + will be made to "func" for the relevant ray evaluation.
1343 + .LP
1344 + .UL Specpict
1345 + .PP
1346 + Specpict is a special case of specdata, where the pattern is
1347 + a hyperspectral image stored in the common-exponent file format.
1348 + The dimensions of the image data are determined by the picture
1349 + just as with the colorpict primitive.
1350 + .DS
1351 + mod specpict id
1352 + 5+
1353 +        func specfile
1354 +        funcfile u v transform
1355 + 0
1356 + m A1 A2 .. Am
1357 + .DE
1358 + The function "func" is called with the interpolated pixel value
1359 + and the wavelength sample in nanometers, the same as specdata,
1360 + with as many calls made as there are components in "specfile".
1361   .NH 3
1362   Mixtures
1363   .PP
# Line 1569 | Line 1759 | the Ecole Polytechnique Federale de Lausanne (EPFL Uni
1759   in Lausanne, Switzerland.
1760   .NH 1
1761   References
1762 + .LP
1763 + Ward, Gregory J., Bruno Bueno, David Geisler-Moroder,
1764 + Lars O. Grobe, Jacob C. Jonsson, Eleanor
1765 + S. Lee, Taoning Wang, Helen Rose Wilson,
1766 + ``Daylight Simulation Workflows Incorporating
1767 + Measured Bidirectional Scattering Distribution Functions,''
1768 + .I "Energy & Buildings",
1769 + Vol. 259, No. 111890, 2022.
1770 + .LP
1771 + Wang, Taoning, Gregory Ward, Eleanor Lee,
1772 + ``Efficient modeling of optically-complex, non-coplanar
1773 + exterior shading: Validation of matrix algebraic methods,''
1774 + .I "Energy & Buildings",
1775 + vol. 174, pp. 464-83, Sept. 2018.
1776 + .LP
1777 + Lee, Eleanor S., David Geisler-Moroder, Gregory Ward,
1778 + ``Modeling the direct sun component in buildings using matrix
1779 + algebraic approaches: Methods and validation,''
1780 + .I Solar Energy,
1781 + vol. 160, 15 January 2018, pp 380-395.
1782   .LP
1783   Ward, G., M. Kurt & N. Bonneel,
1784   ``Reducing Anisotropic BSDF Measurement to Common Practice,''

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines