mitsuba/data/tests/test_bsdf.xml

219 lines
5.9 KiB
XML

<!-- This file defines a series of BSDF instances
to be tested for consistency. This is done
using the testcase 'test_chisquare' -->
<scene version="0.5.0">
<!-- Test the smooth plastic model with preserveColors=false -->
<bsdf type="plastic">
<boolean name="preserveColors" value="false"/>
</bsdf>
<!-- Test the smooth plastic model with preserveColors=true -->
<bsdf type="plastic">
<boolean name="preserveColors" value="true"/>
</bsdf>
<!-- Test the smooth diffuse model -->
<bsdf type="diffuse"/>
<!-- Test the rough diffuse model -->
<bsdf type="roughdiffuse"/>
<!-- Test the two-sided model -->
<bsdf type="twosided">
<bsdf type="diffuse"/>
</bsdf>
<!-- Test the diffuse transmission model -->
<bsdf type="difftrans"/>
<!-- Test a simple mixturebsdf between diffuse
transmittance and reflectance -->
<bsdf type="mixturebsdf">
<string name="weights" value=".5 .3"/>
<bsdf type="diffuse">
<rgb name="reflectance" value=".5 0 0"/>
</bsdf>
<bsdf type="difftrans">
<rgb name="transmittance" value="0 .5 0"/>
</bsdf>
</bsdf>
<!-- Test the smooth conductor model -->
<bsdf type="conductor"/>
<!-- Test the smooth dielectric model -->
<bsdf type="dielectric">
<string name="intIOR" value="water"/>
<string name="extIOR" value="air"/>
</bsdf>
<!-- Test a mixturebsdf of degenerate materials -->
<bsdf type="mixturebsdf">
<string name="weights" value=".8 .2"/>
<bsdf type="dielectric"/>
<bsdf type="conductor"/>
</bsdf>
<!-- Test a mixturebsdf of degenerate and
non-degenerate materials -->
<bsdf type="mixturebsdf">
<string name="weights" value=".8 .2"/>
<bsdf type="dielectric"/>
<bsdf type="diffuse"/>
</bsdf>
<!-- Test the Hanrahan-Krueger model with an
isotropic phase function -->
<bsdf type="hk"/>
<!-- Test the Hanrahan-Krueger model with a
forward-scattering phase function -->
<bsdf type="hk">
<phase type="hg">
<float name="g" value="0.8"/>
</phase>
</bsdf>
<!-- Test the rough glass model with the
Beckmann microfacet distribution -->
<bsdf type="roughdielectric">
<string name="distribution" value="beckmann"/>
<float name="alpha" value=".3"/>
<float name="intIOR" value="1.5"/>
<float name="extIOR" value="1.0"/>
</bsdf>
<!-- Test the rough glass model with the
Phong microfacet distribution -->
<bsdf type="roughdielectric">
<string name="distribution" value="phong"/>
<float name="alpha" value=".3"/>
<float name="intIOR" value="1.5"/>
<float name="extIOR" value="1.0"/>
</bsdf>
<!-- Test the rough glass model with the
GGX microfacet distribution -->
<bsdf type="roughdielectric">
<string name="distribution" value="ggx"/>
<float name="alpha" value=".3"/>
<float name="intIOR" value="1.5"/>
<float name="extIOR" value="1.0"/>
</bsdf>
<!-- Test the rough dielectric model with the anisotropic
Ashikhmin-Shirley microfacet distribution -->
<bsdf type="roughdielectric">
<string name="distribution" value="as"/>
<float name="alphaU" value=".1"/>
<float name="alphaV" value=".3"/>
<float name="intIOR" value="1.5"/>
<float name="extIOR" value="1.0"/>
</bsdf>
<!-- Test the rough conductor model with the
Beckmann microfacet distribution -->
<bsdf type="roughconductor">
<string name="distribution" value="beckmann"/>
<float name="alpha" value=".3"/>
</bsdf>
<!-- Test the rough dielectric model with the anisotropic
Ashikhmin-Shirley microfacet distribution -->
<bsdf type="roughconductor">
<string name="material" value="Au"/>
<string name="distribution" value="as"/>
<float name="alphaU" value="0.1"/>
<float name="alphaV" value="0.3"/>
</bsdf>
<!-- Test the rough plastic model with the
Beckmann microfacet distribution -->
<bsdf type="roughplastic">
<string name="distribution" value="beckmann"/>
<float name="alpha" value=".7"/>
</bsdf>
<!-- Test the modified Phong BRDF -->
<bsdf type="phong">
<spectrum name="diffuseReflectance" value="0.2"/>
<spectrum name="specularReflectance" value="0.4"/>
</bsdf>
<!-- Test the anisotropic Ward model -->
<bsdf type="ward">
<float name="alphaU" value=".1"/>
<float name="alphaV" value=".3"/>
<spectrum name="diffuseReflectance" value="0.2"/>
<spectrum name="specularReflectance" value="0.4"/>
</bsdf>
<!-- Test the mask model (with constant 50% opacity) -->
<bsdf type="mask">
<spectrum name="opacity" value="0.5"/>
<bsdf type="diffuse"/>
</bsdf>
<!-- Test the smooth coating over a diffuse base material -->
<bsdf type="coating">
<float name="intIOR" value="1.5"/>
<float name="extIOR" value="1"/>
<rgb name="sigmaA" value="0.1 0.2 0.3"/>
<float name="thickness" value="2"/>
<bsdf type="diffuse"/>
</bsdf>
<!-- Test the smooth coating over a rough metal material -->
<bsdf type="coating">
<float name="intIOR" value="1.5"/>
<float name="extIOR" value="1"/>
<bsdf type="roughconductor"/>
</bsdf>
<!-- Test the coating model with a transmissive
+ reflective material -->
<bsdf type="coating">
<rgb name="sigmaA" value="0.1 0.2 0.3"/>
<float name="thickness" value="2"/>
<bsdf type="mixturebsdf">
<string name="weights" value=".5 .3"/>
<bsdf type="diffuse">
<rgb name="reflectance" value=".5 0 0"/>
</bsdf>
<bsdf type="difftrans">
<rgb name="transmittance" value="0 .5 0"/>
</bsdf>
</bsdf>
</bsdf>
<!-- Test the coating model with a material that has
a delta transmission component -->
<bsdf type="coating">
<bsdf type="mask">
<bsdf type="diffuse"/>
<spectrum name="opacity" value="0.5"/>
</bsdf>
</bsdf>
<!-- Test the coating model with the Hanrahan-Krueger model -->
<bsdf type="coating">
<bsdf type="hk">
<rgb name="sigmaA" value="0.1 0.2 0.3"/>
<rgb name="sigmaS" value="1"/>
<float name="thickness" value="2"/>
</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>