27 |
|
Each entity is given by a short keyword, followed by space- or tab- |
28 |
|
delimited arguments on a single line. A single entity may be extended |
29 |
|
over multiple lines using a backslash ('\') character right before the |
30 |
< |
end of line, though no extended line may exceed 512 characters in total |
31 |
< |
length. (Given the current set of entities, even approaching 80 |
32 |
< |
characters would be highly unusual.) |
30 |
> |
end of line, though no extended line may exceed 4096 characters in total |
31 |
> |
length. |
32 |
|
|
33 |
|
Entities and Contexts |
34 |
|
===================== |
83 |
|
c [id [= [template]]] get/set color context |
84 |
|
cxy x y set CIE (x,y) chromaticity for current color |
85 |
|
cspec l_min l_max v1 v2 .. set relative spectrum for current color |
86 |
+ |
cct temperature set spectrum based on black body temperature |
87 |
|
cmix w1 c1 w2 c2 .. mix named colors to make current color |
88 |
|
m [id [= [template]]] get/set material context |
89 |
|
sides {1|2} set number of sides for current material |
92 |
|
ed epsilon_d set diffuse emittance for current material |
93 |
|
rs rho_s alpha_r set specular reflectance for current material |
94 |
|
ts tau_s alpha_t set specular transmittance for current material |
95 |
+ |
ir n_real n_imag set index of refraction for current material |
96 |
|
o [name] begin/end object context |
97 |
|
f v1 v2 v3 .. polygon using current material, spec. vertices |
98 |
|
sph vc radius sphere |
215 |
|
full spectrum is the most general specification, and the starting (i.e. |
216 |
|
minimum) and ending (i.e. maximum) wavelengths are given along with a |
217 |
|
set of evenly spaced values. Wavelengths are given in nanometers, and |
218 |
< |
must be within the range of 380-780. The spectral values themselves, |
218 |
> |
should be within the range of 380-780. The spectral values themselves, |
219 |
|
which can be thought of as relative power density per nanometer, start |
220 |
|
at the first wavelength and proceed at even increments to the last |
221 |
|
wavelength. The values in between will be interpolated as necessary, |
222 |
< |
so there must be at least two specified points. The color mixing |
223 |
< |
entity is intended not only for the mixing of named colors, but also |
224 |
< |
for color specifications using an arbitrary set of basis functions. |
225 |
< |
The mixing coefficients are in effect relative luminances for each |
226 |
< |
color "primary." The actual total of the mixing coefficients or |
227 |
< |
spectral values is irrelevant, since the results will always be |
228 |
< |
normalized. |
222 |
> |
so there must be at least two specified points. The color temperature |
223 |
> |
entity corresponds to the spectrum of a black body at the specified |
224 |
> |
temperature (in degrees Kelvin). The color mixing entity is intended |
225 |
> |
not only for the mixing of named colors, but also for color |
226 |
> |
specifications using an arbitrary set of basis functions. The mixing |
227 |
> |
coefficients are in effect relative luminances for each color |
228 |
> |
"primary." The actual total of the mixing coefficients or spectral |
229 |
> |
values is irrelevant, since the results will always be normalized. |
230 |
|
|
231 |
|
Diffuse emittance is always given in SI units of lumens/meter^2. Note that |
232 |
|
this is emittance, not exitance, and does not include light reflected or |
239 |
|
|
240 |
|
The sum of the diffuse and specular reflectances and transmittances |
241 |
|
must be strictly less than one (with no negative values, obviously). |
242 |
+ |
These values are assumed to be measured at normal incidence. If an |
243 |
+ |
index of refraction is given, this may modify the balance between |
244 |
+ |
diffuse and specular reflectance at other incident angles. If the |
245 |
+ |
material is one-sided (see below), then it may be a dielectric interface. |
246 |
+ |
In this case, the specular transmittance given is that which would be |
247 |
+ |
measured at normal incidence for a pane of the material 5 mm thick. |
248 |
+ |
This is important for figuring the actual transmittance for non-planar |
249 |
+ |
geometries assuming a uniformly absorbing medium. If the index of |
250 |
+ |
refraction has an imaginary part, then the surface is a metal and this |
251 |
+ |
implies other properties according to physics. The default index of |
252 |
+ |
refraction is that of a vacuum, i.e. (1,0). |
253 |
|
|
254 |
|
The object entity establishes a hierarchical context, consisting of |
255 |
|
this identifier and all those preceding. It has no real meaning except |
257 |
|
under a descriptive name for improved file readability. |
258 |
|
|
259 |
|
Surfaces are two-sided unless the "sides" entity is used to set the |
260 |
< |
number of sides for a material to one. If a surfaces is one-sided, |
260 |
> |
number of sides for a material to one. If a surface is one-sided, |
261 |
|
then it appears invisible when viewed from the back side. This means |
262 |
|
that a transmitting object will affect the light coming in through the |
263 |
|
front surface and ignore the characteristics of the back surface. As |
264 |
< |
long as the characteristics are the same, the results should be |
265 |
< |
correct. If the rendering technique does not allow for one-sided |
264 |
> |
long as the transmission characteristics are the same, the results should |
265 |
> |
be correct. If the rendering technique does not allow for one-sided |
266 |
|
surfaces, an approximately correct result can be obtained for one-sided |
267 |
|
transmitting surfaces by using the square root of the given tau_s and |
268 |
|
half the given alpha_t. If a rendering technique does not permit |