Dear All,
Just last week, I introduced a new programmable material type to Radiance 6.0a. Its design provides greater control over different components in the Ward-Geisler-Moroder-Dür model that underpins the existing plastic, metal, trans, plastic2, metal2, and trans2 material types.
The new material offers separate modifier paths for each component. This provides a convenient way to specify spectral colors using the new spectral pattern primitives, and allows different textures (surface normal perturbations) and/or patterns to apply to each.
Naturally, there are some caveats and things to watch out for, as with any material. You need to be careful that your components don’t scatter more light than they receive. More subtly, if your specular reflectance varies as a function of incident angle, this will undermine BSDF reciprocity. Reciprocity also implies that transmission should be the same from either side of the material.
------------------------ here is the new reference manual entry --------------------------
WGMDfunc is a more programmable version of trans2, with separate modifier paths and variables to control each component. (WGMD stands for Ward-Geisler-Moroder-Duer, which is the basis for this empirical model, similar to previous ones beside Ashik2.) The specification of this material is given below.
mod WGMDfunc id 13+ rs_mod rs rs_urough rs_vrough ts_mod ts ts_urough ts_vrough td_mod ux uy uz funcfile transform 0 9+ rfdif gfdif bfdif rbdif gbdif bbdif rtdif gtdif btdif A10 ..
The sum of specular reflectance (rs), specular transmittance (ts), diffuse reflectance (rfdif gfdif bfdif for front and rbdif gbdif bbdif for back) and diffuse transmittance (rtdif gtdif btdif) should be less than 1 for each channel.
Unique to this material, separate modifier channels are provided for each component. The main modifier is used on the diffuse reflectance, both front and back. The rs_mod modifier is used for specular reflectance. If "void" is given for rs_mod, then the specular reflection color will be white. The special "inherit" keyword may also be given, in which case specular reflectance will share the main modifier. This behavior is replicated for the specular transmittance modifier ts_mod, which also has its own independent roughness expressions. Finally, the diffuse transmittance modifier is given as td_mod, which may also be "void" or "inherit". Note that any spectra or color for specular components must be carried by the named modifier(s).
The main advantage to this material over BRTDfunc and other programmable types described below is that the specular sampling is well-defined, so that all components are fully computed.