--- ray/doc/ray.html 2016/07/10 23:41:37 1.23 +++ ray/doc/ray.html 2023/12/13 23:26:16 1.38 @@ -1,8 +1,8 @@ - + -The RADIANCE 5.1 Synthetic Imaging System +The RADIANCE 6.0 Synthetic Imaging System @@ -10,7 +10,7 @@ The RADIANCE 5.1 Synthetic Imaging System

-The RADIANCE 5.1 Synthetic Imaging System +The RADIANCE 6.0 Synthetic Imaging System

@@ -83,7 +83,7 @@ The diagram in Figure 1 shows the flow between program (ovals). The central program is rpict, which produces a picture from a scene description. -Rview is a variation of rpict that computes and displays images +Rvu is a variation of rpict that computes and displays images interactively, and rtrace computes single ray values. Other programs (not shown) connect many of these elements together, such as the executive programs @@ -822,6 +822,8 @@ unless the line integrals consider enclosed geometry. Also, rather than roughness, specular power is used, which has no physical meaning other than larger numbers are equivalent to a smoother surface. + Unlike other material types, total reflectance is the sum of + diffuse and specular colors, and should be adjusted accordingly.

 	mod ashik2 id
 	4+ ux uy uz funcfile transform
@@ -1154,6 +1156,38 @@ unless the line integrals consider enclosed geometry.
 

+ + aBSDF + + +
+ The aBSDF material is identical to the BSDF type with two + important differences. First, proxy geometry is not + supported, so there is no thickness parameter. Second, an + aBSDF is assumed to have some specular through component + (the ’a’ stands for "aperture"), + which is treated specially during the direct calculation + and when viewing the material. Based on the BSDF data, the + coefficient of specular transmission is determined and used + for modifying unscattered shadow and view rays. + +
+	mod aBSDF id
+	5+ BSDFfile ux uy uz funcfile transform
+	0
+	0|3|6|9
+	     rfdif gfdif bfdif
+	     rbdif gbdif bbdif
+	     rtdif gtdif btdif
+
+ +

+ If a material has no specular transmitted component, it is + much better to use the BSDF type with a zero thickness + than to use aBSDF. +

+ +

Antimatter @@ -1427,6 +1461,153 @@ 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). +

+ +

+ + Spectrum + + +
+ The spectrum primitive is the most basic type for introducing spectral + color to a material. + Since materials only provide RGB parameters, spectral patterns + are the only way to superimpose wavelength-dependent behavior. + +
+        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. + +

+ +

+ + Specfile + + +
+ The specfile primitive is equivalent to the spectrum type, but + the wavelength range and values are contained in a 1-dimensional + data file. + This may be a more convenient way to specify a spectral color, + especially one corresponding to a standard illuminant such as D65 + or a library of measured spectra. + +
+        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. + +

+ +

+ + Specfunc + + +
+ The specfunc primitive offers dynamic control over a spectral + pattern, similar to the colorfunc type. + +
+        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. + +

+ + Specdata + + +
+ Specdata is like brightdata and colordata, but with more + than 3 specular samples. + +
+	mod specdata id
+	3+n+
+		func datafile
+		funcfile x1 x2 .. xn transform
+	0
+	m A1 A2 .. Am
+
+ +

+ The data file must have one more dimension than the coordinate + variable count, as this final dimension corresponds to the covered + spectrum. + The starting and ending wavelengths are specified in "datafile" + as well as the number of spectral samples. + The function "func" will be called with two parameters, the + interpolated spectral value for the current coordinate and the + associated wavelength. + If the spectrum is broken into 12 components, then 12 calls + will be made to "func" for the relevant ray evaluation. + +

+ + Specpict + + +
+ Specpict is a special case of specdata, where the pattern is + a hyperspectral image stored in the common-exponent file format. + The dimensions of the image data are determined by the picture + just as with the colorpict primitive. + +
+	mod specpict id
+	5+
+		func specfile
+		funcfile u v transform
+	0
+	m A1 A2 .. Am
+
+ +

+ The function "func" is called with the interpolated pixel value + and the wavelength sample in nanometers, the same as specdata, + with as many calls made as there are components in "specfile". +

@@ -1775,7 +1956,7 @@ The details of this process are not important, but directs the use of a scene description.