diff --git a/doc/ray.1 b/doc/ray.1 index b9d39a1c..b8797120 100644 --- a/doc/ray.1 +++ b/doc/ray.1 @@ -1,8 +1,8 @@ -.\" RCSid "$Id: ray.1,v 1.46 2023/12/13 23:26:16 greg Exp $" +.\" RCSid "$Id: ray.1,v 1.47 2024/12/09 19:21:38 greg Exp $" .\" Print using the -ms macro package -.DA 11/13/2023 +.DA 12/09/2024 .LP -.tl """Copyright \(co 2023 Regents, University of California +.tl """Copyright \(co 2024 Regents, University of California .sp 2 .TL The @@ -639,6 +639,64 @@ mod ashik2 id 8 dred dgrn dblu sred sgrn sblu u-power v-power .DE .LP +.UL WGMDfunc +.PP +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 the previous ones beside Ashik2.)\0 +The specification of this material is given below. +.DS +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 .. +.DE +The sum of specular reflectance ( +.I rs +), specular transmittance ( +.I ts +), diffuse reflectance ( +.I "rfdif gfdif bfdif" +for front and +.I "rbdif gbdif bbdif" +for back) +and diffuse transmittance ( +.I "rtdif gtdif btdif" +) should be less than 1 for each +channel. +.PP +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 +.I rs_mod +modifier is used for specular reflectance. +If "void" is given for +.I 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 +.I ts_mod, +which has its own independent roughness expressions. +Finally, the diffuse transmittance modifier is given as +.I 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). +.PP +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. +.LP .UL Dielectric .PP A dielectric material is transparent, and it refracts light diff --git a/doc/ray.html b/doc/ray.html index 73e5e6d9..700b8921 100644 --- a/doc/ray.html +++ b/doc/ray.html @@ -1,5 +1,5 @@ - +
+
+ 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. + +
+