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.43 by greg, Fri Nov 17 20:02:07 2023 UTC vs.
Revision 1.49 by greg, Fri May 30 16:35:52 2025 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 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 639 | 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 1209 | Line 1286 | mod spectrum id
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 in at each wavelength.
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.
# Line 1249 | Line 1326 | The specfunc primitive offers dynamic control over a s
1326   pattern, similar to the colorfunc type.
1327   .DS
1328   mod specfunc id
1329 < 2+ sval funcfile transform
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 < accessible to the sval function.
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines