rough coating documentation
parent
1a5d962c4f
commit
d0391dff8b
|
@ -2,17 +2,6 @@
|
||||||
to be tested for consistency. This is done
|
to be tested for consistency. This is done
|
||||||
using the testcase 'test_chisquare' -->
|
using the testcase 'test_chisquare' -->
|
||||||
<scene version="0.3.0">
|
<scene version="0.3.0">
|
||||||
<bsdf type="roughcoating">
|
|
||||||
<!--
|
|
||||||
<bsdf type="roughconductor">
|
|
||||||
<string name="distribution" value="beckmann"/>
|
|
||||||
<float name="alpha" value=".3"/>
|
|
||||||
</bsdf>
|
|
||||||
-->
|
|
||||||
<bsdf type="diffuse"/>
|
|
||||||
<float name="alpha" value=".3"/>
|
|
||||||
</bsdf>
|
|
||||||
|
|
||||||
<!-- Test the smooth diffuse model -->
|
<!-- Test the smooth diffuse model -->
|
||||||
<bsdf type="diffuse"/>
|
<bsdf type="diffuse"/>
|
||||||
|
|
||||||
|
@ -211,4 +200,12 @@
|
||||||
<float name="thickness" value="2"/>
|
<float name="thickness" value="2"/>
|
||||||
</bsdf>
|
</bsdf>
|
||||||
</bsdf>
|
</bsdf>
|
||||||
|
|
||||||
|
<!-- Test the rough coating model -->
|
||||||
|
<bsdf type="roughcoating">
|
||||||
|
<bsdf type="roughconductor">
|
||||||
|
<string name="distribution" value="beckmann"/>
|
||||||
|
<float name="alpha" value=".3"/>
|
||||||
|
</bsdf>
|
||||||
|
</bsdf>
|
||||||
</scene>
|
</scene>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 162 KiB |
Binary file not shown.
After Width: | Height: | Size: 165 KiB |
|
@ -138,9 +138,12 @@
|
||||||
% ----- 8< ----- 8< ------
|
% ----- 8< ----- 8< ------
|
||||||
|
|
||||||
\title{
|
\title{
|
||||||
\includegraphics[width=4cm]{images/logo_plain.pdf}\\\vspace{2cm}
|
\vspace{3cm}
|
||||||
Mitsuba Documentation\\\vspace{3mm}
|
\includegraphics[width=4cm]{images/logo_plain.pdf}\\\vspace{1.5cm}
|
||||||
\large Version \MitsubaVersion
|
\Huge
|
||||||
|
Mitsuba Documentation\\\vspace{4mm}
|
||||||
|
\LARGE Version \MitsubaVersion
|
||||||
|
\vspace{5mm}
|
||||||
}
|
}
|
||||||
\author{Wenzel Jakob}
|
\author{Wenzel Jakob}
|
||||||
\date{\today}
|
\date{\today}
|
||||||
|
|
|
@ -48,9 +48,9 @@ MTS_NAMESPACE_BEGIN
|
||||||
*
|
*
|
||||||
* This plugin implements a smooth dielectric coating (e.g. a layer of varnish)
|
* This plugin implements a smooth dielectric coating (e.g. a layer of varnish)
|
||||||
* in the style of the paper ``Arbitrarily Layered Micro-Facet Surfaces'' by
|
* in the style of the paper ``Arbitrarily Layered Micro-Facet Surfaces'' by
|
||||||
* Weidlich and Wilkie \cite{Weidlich2007Arbitrarily}. Any non-transmissive
|
* Weidlich and Wilkie \cite{Weidlich2007Arbitrarily}. Any BSDF in Mitsuba
|
||||||
* BSDF in Mitsuba can be coated using this plugin, and multiple coating layers
|
* can be coated using this plugin, and multiple coating layers can even
|
||||||
* can be applied in sequence. This allows designing interesting custom materials
|
* be applied in sequence. This allows designing interesting custom materials
|
||||||
* like car paint or glazed metal foil. The coating layer can optionally be
|
* like car paint or glazed metal foil. The coating layer can optionally be
|
||||||
* tinted (i.e. filled with an absorbing medium), in which case this model also
|
* tinted (i.e. filled with an absorbing medium), in which case this model also
|
||||||
* accounts for the directionally dependent absorption within the layer.
|
* accounts for the directionally dependent absorption within the layer.
|
||||||
|
|
|
@ -25,7 +25,7 @@ MTS_NAMESPACE_BEGIN
|
||||||
|
|
||||||
#define TRANSMITTANCE_PRECOMP_NODES 200
|
#define TRANSMITTANCE_PRECOMP_NODES 200
|
||||||
|
|
||||||
/*!\plugin{roughcoating}{Rough coating material}
|
/*!\plugin{roughcoating}{Rough dielectric coating}
|
||||||
* \order{10}
|
* \order{10}
|
||||||
* \icon{bsdf_roughcoating}
|
* \icon{bsdf_roughcoating}
|
||||||
* \parameters{
|
* \parameters{
|
||||||
|
@ -59,8 +59,37 @@ MTS_NAMESPACE_BEGIN
|
||||||
* \parameter{sigmaA}{\Spectrum\Or\Texture}{The absorption coefficient of the
|
* \parameter{sigmaA}{\Spectrum\Or\Texture}{The absorption coefficient of the
|
||||||
* coating layer. \default{0, i.e. there is no absorption}}
|
* coating layer. \default{0, i.e. there is no absorption}}
|
||||||
* \parameter{\Unnamed}{\BSDF}{A nested BSDF model that should be coated.}
|
* \parameter{\Unnamed}{\BSDF}{A nested BSDF model that should be coated.}
|
||||||
|
* }\vspace{-4mm}
|
||||||
|
* \renderings{
|
||||||
|
* \rendering{Rough gold coated with a \emph{smooth} varnish layer}
|
||||||
|
* {bsdf_roughcoating_gold_smooth}
|
||||||
|
* \rendering{Rough gold coated with a \emph{rough} ($\alpha\!=\!0.03$) varnish layer}
|
||||||
|
* {bsdf_roughcoating_gold_rough}
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
|
* This plugin implements a \emph{very} approximate\footnote{
|
||||||
|
* The model only accounts for roughness
|
||||||
|
* in the specular reflection and Fresnel transmittance through the interface.
|
||||||
|
* The interior model receives incident illumination
|
||||||
|
* that is transformed \emph{as if} the coating was smooth. While
|
||||||
|
* that's not quite correct, it is a convenient workaround when the
|
||||||
|
* \pluginref{coating} plugin produces specular highlights that are too sharp.}
|
||||||
|
* model that simulates a rough dielectric coating. It is essentially the
|
||||||
|
* roughened version of \pluginref{coating}.
|
||||||
|
* Any BSDF in Mitsuba can be coated using this plugin, and multiple coating
|
||||||
|
* layers can even be applied in sequence. This allows designing interesting
|
||||||
|
* custom materials. The coating layer can optionally be tinted (i.e. filled
|
||||||
|
* with an absorbing medium), in which case this model also accounts for the
|
||||||
|
* directionally dependent absorption within the layer.
|
||||||
|
*
|
||||||
|
* Note that the plugin discards illumination that undergoes internal
|
||||||
|
* reflection within the coating. This can lead to a noticeable energy
|
||||||
|
* loss for materials that reflect much of their energy near or below the critical
|
||||||
|
* angle (i.e. diffuse or very rough materials).
|
||||||
|
*
|
||||||
|
* The implementation here is influenced by the paper
|
||||||
|
* ``Arbitrarily Layered Micro-Facet Surfaces'' by Weidlich and
|
||||||
|
* Wilkie \cite{Weidlich2007Arbitrarily}.
|
||||||
*/
|
*/
|
||||||
class RoughCoating : public BSDF {
|
class RoughCoating : public BSDF {
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in New Issue