commit 0923318c4590648227125292cb0e14483ea95819
parent 4589a7da529ac8ca65cf9c4686c3c1e5c260cd7c
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Tue, 12 Dec 2017 11:31:28 +0100
Document the microfacet attribute in the input man page
Diffstat:
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/doc/solstice-input.5.txt b/doc/solstice-input.5.txt
@@ -186,9 +186,13 @@ _______
<mirror> ::= mirror:
reflectivity: <mtl-data> # in [0, 1]
- roughness: <mtl-data> # in [0, 1]
+ roughness: <mtl-data>
+ [ microfacet: <normal-distrib> ] # Default is BECKMANN
[ <normal-map> ]
+<normal-distrib> ::= BECKMANN
+ | PILLBOX
+
<virtual> ::= virtual: EMPTY-STRING
<thin-dielectric> ::= thin_dielectric:
@@ -331,7 +335,7 @@ shapes are:
As the gaussian distribution is not truncated, the resulting sun vector can
theoreticaly be oriented towards the sun, especially with a big, non-typical
*std_dev* value.
-
+
*buie*::
The *buie* distribution, as first discribed in [3]. Its single *csr*
parameter is the ratio between the circumsolar irradiance and the sum of
@@ -423,14 +427,24 @@ of the incoming direction.
*mirror*::
Specular or glossy reflection whether the *roughness* parameter is 0 or not,
-respectively. Glossy reflections are controlled by a microfacet BRDF with the
-Beckmann normal distribution defined as:
+respectively. Glossy reflections are controlled by a microfacet BRDF. The
+microfacet normals are distributed with respect to the Beckmann or the Pillbox
+distribution according to the *normal-distrib* attribute.
++
+Let m the *roughness* parameter in ]0, 1]. The Beckmann distribution is
+defined as:
+
.......
D(wh) = exp(-tan^2(a) / m^2) / (PI * m^2 * cos^4(a))
.......
+
-with a = arccos(wh.N) and m the *roughness* in ]0,1] of the interface.
+with a = arccos(wh.N), while the pillbox distribution is defined as:
++
+.......
+ | 0; if |wh.N| >= m
+D(wh) = |
+ | 1 / (PI * (1 - cos^2(m))); if |wh.N| < m
+.......
*thin-dielectric*::
The interface is assumed to be a thin slab of a dielectric material. The