<!-- This file defines a series of BSDF instances
	 to be tested for consistency. This is done
	 using the testcase 'test_chisquare' -->
<scene version="0.4.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>