--- ray/doc/ray.html 2023/05/11 17:18:39 1.31 +++ ray/doc/ray.html 2023/12/12 20:25:22 1.37 @@ -1,8 +1,8 @@ - +
@@ -1461,6 +1461,98 @@ or: A section of text meant to depict a picture, perhaps using a special purpose font such as hexbit4x1.fnt, calls for uniform spacing. Reasonable magnitudes for proportional spacing are between 0.1 (for tightly spaced characters) and 0.3 (for wide spacing). +
+ +
+ mod spectrum id + 0 + 0 + 5+ nmA nmB s1 s2 .. sN ++ +
+ The first two real arguments indicate the extrema of the + spectral range in nanometers. + Subsequent real values correspond to multipliers at each wavelength. + The nmA wavelength may be greater or less than nmB, + but they may not be equal, and their ordering matches + the order of the spectral values. + A minimum of 3 values must be given, which would act + more or less the same as a constant RGB multiplier. + As with RGB values, spectral quantities normally range between 0 + and 1 at each wavelength, or average to 1.0 against a standard + sensitivity functions such as V(lambda). + The best results obtain when the spectral range and number + of samples match rendering options, though resampling will handle + any differences, zero-filling wavelenths outside the nmA to nmB + range. + A warning will be issued if the given wavelength range does not + adequately cover the visible spectrum. + +
+ +
+ mod specfile id + 1 datafile + 0 + 0 ++ +
+ As with the spectrum type, rendering wavelengths outside the defined + range will be zero-filled. + Unlike the spectrum type, the file may contain non-uniform samples. + +
+ +
+ mod specfunc id + 2+ sfunc funcfile transform + 0 + 2+ nmA nmB A3 .. ++ +
+ Like the spectrum primitive, the wavelength range is specified + in the first two real arguments, and additional real values are + set in the evaluation context. + This function is fed a wavelenth sample + between nmA and nmB as its only argument, + and it returns the corresponding spectral intensity. +
@@ -1947,6 +2039,13 @@ Ecole Polytechnique Federale de Lausanne (EPFL Unive