Skip to content

Commit

Permalink
docs: Added description of new WGMDfunc material
Browse files Browse the repository at this point in the history
  • Loading branch information
Gregungory committed Dec 9, 2024
1 parent 338f069 commit 1e5553a
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 4 deletions.
64 changes: 61 additions & 3 deletions doc/ray.1
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand Down
58 changes: 57 additions & 1 deletion doc/ray.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<html>
<!-- RCSid $Id: ray.html,v 1.38 2023/12/13 23:26:16 greg Exp $ -->
<!-- RCSid $Id: ray.html,v 1.39 2024/12/09 19:21:38 greg Exp $ -->
<head>
<title>
The RADIANCE 6.0 Synthetic Imaging System
Expand Down Expand Up @@ -833,6 +833,62 @@ <h4>

<p>

<dt>
<a NAME="WGMDfunc">
<b>WGMDfunc</b>
</a>

<dd>
WGMDfunc is a more programmable version of <a HREF="#Trans2">trans2</a>,
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.
<pre>
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 ..
</pre>

The sum of specular reflectance (<I>rs</I>), specular transmittance (<I>ts</I>),
diffuse reflectance (<I>rfdif gfdif bfdif</I> for front and <I>rbdif gbdif bbdif</I> for back)
and diffuse transmittance (<I>rtdif gtdif btdif</I>) should be less than 1 for each
channel.

<p>

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</I> modifier is used for specular reflectance.
If "void" is given for <I>rs_mod</I>,
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</I>, which also has its own independent roughness expressions.
Finally, the diffuse transmittance modifier is given as
<I>td_mod</I>, which may also be "void" or "inherit".
Note that any spectra or color for specular components must be
carried by the named modifier(s).

<p>

The main advantage to this material over
<a HREF="#BRTDfunc">BRTDfunc</a> and
other programmable types described below is that the specular sampling is
well-defined, so that all components are fully computed.

<p>

<dt>
<a NAME="Dielectric">
<b>Dielectric</b>
Expand Down

0 comments on commit 1e5553a

Please sign in to comment.