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.41 by greg, Wed Nov 15 18:28:09 2023 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 11/13/2023
3 > .DA 12/09/2024
4   .LP
5 < .tl """Copyright \(co 2023 Regents, University of California
5 > .tl """Copyright \(co 2024 Regents, University of California
6   .sp 2
7   .TL
8   The
# Line 639 | 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 1207 | Line 1265 | mod spectrum id
1265   0
1266   5+ nmA nmB s1 s2 .. sN
1267   .DE
1268 < The first two real arguments indicate the limits of the covered
1268 > The first two real arguments indicate the extrema of the
1269   spectral range in nanometers.
1270 < Subsequent real values correspond to multipliers in each wavelength band,
1271 < where the first band goes from nmA to nmA+(nmB-nmA)/N, and N is the
1272 < number of bands (i.e., the number of real arguments minus 2).
1273 < The nmA wavelength may be greater or less than the nmB wavelength,
1216 < but they may not be equal, and their ordering must correspond to
1217 < the ordering of the spectral values.
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
# Line 1251 | Line 1307 | The specfunc primitive offers dynamic control over a s
1307   pattern, similar to the colorfunc type.
1308   .DS
1309   mod specfunc id
1310 < 2+ sval funcfile transform
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 < accessible to the sval function.
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines