<?xml version="1.0" encoding="utf-8"?>

<scene>

	<camera>
		<!--<pos>-1.47 -3.5 3.3</pos>-->
    <pos>-1 -2 2.5</pos>
		<up>0 0 1</up>
		<forwards>0.3 1 -0.4</forwards>
		
		<focus_distance>2.000000</focus_distance>
		<aspect_ratio>1.3333</aspect_ratio>
		<aperture_radius>0.003</aperture_radius>
		<sensor_width>0.036</sensor_width>
		<lens_sensor_dist>0.04</lens_sensor_dist>
		<white_balance>D65</white_balance>
		<autofocus/>
	</camera>
	
	<tonemapping>
		<linear>
      <scale>5</scale>
    </linear>
	</tonemapping>
	
	<rectanglelight>
		<pos>0 0 6</pos>
		<width>0.5</width>
		<height>0.5</height>
		<spectrum>
			<blackbody>
				<temperature>6500</temperature>
				<gain>0.00001</gain>
			</blackbody>
		</spectrum>
	</rectanglelight>

  <!--<medium>
    <name>atmosphere_medium</name>

    <precedence>20</precedence>

    <atmosphere>
      <turbidity>1.0</turbidity>
      <center>0 0 -6378135</center>
    </atmosphere>
  </medium>-->


  <medium>
    <name>sss_medium</name>
    <precedence>20</precedence>

    <basic>
      <ior>1.0</ior>
      <cauchy_b_coeff>0.0</cauchy_b_coeff>

      <max_extinction_coeff>50</max_extinction_coeff>

      <absorption_coefficient>
        <shader>
          <shader>
            <![CDATA[	
            def densityForRadius(real r) real : 
             #if(r < 0.5, 50.0, 0.0)
             (1 - smoothstep(0.7, 0.701, r)) * 50.0
              
						def eval(vec3 pos) vec3 :
              let d = dist(pos, vec3(0, 1.5, 1.5))
              in
							  vec3(0.6, 0.8, 1.0) * 
								 densityForRadius(d - abs(fbm(pos * 3.0, 6)) * 0.2)
							
						]]>
          </shader>
          <wavelength_dependent>true</wavelength_dependent>
        </shader>
      </absorption_coefficient>
      <!--<absorption_coefficient>
        <constant>
          <uniform>
            <value>0.0</value>
          </uniform>
        </constant>
      </absorption_coefficient>-->


      <!--<absorption_coefficient>
		  <shader>-->
      <!--<shader>
            <![CDATA[	
						
						def eval(vec3 pos) vec3 :
							vec3(
                  if(
                    dist(pos, vec3(0.0, 1.5, 1.5)) < 0.6, 
                    3.0, 
                    0.0
                )
              )
						]]>

          </shader>-->
      <!--<shader>
          <![CDATA[	
						def eval(vec3 pos) vec3 :
							vec3(
               3.0 - dist(pos, vec3(0.0, 1.5, 1.5))*4.0
     				#		max(
						#		  fbm(pos, 4) * 20.0,
						#		  0.0
						#		)
		
              )
						]]>
        </shader>
          <wavelength_dependent>false</wavelength_dependent>
        </shader>-->
      <!--<constant>
          <uniform>
            <value>0.0</value>
          </uniform>
        </constant>-->
      <!--</absorption_coefficient>-->

      <subsurface_scattering>
        <scattering_coefficient>

          <shader>
            <!--<shader>
					<![CDATA[	
						def eval(vec3 pos) vec3 :
							vec3(
								clamp(
								  fbm(pos * 2.0, 8) * 50.0,
								  0.0,
                  50.0
								)
							)
						]]>
				</shader>-->
            <shader>
              <![CDATA[	
          
            def densityForRadius(real r) real : 
             #if(r < 0.5, 50.0, 0.0)
             (1 - smoothstep(0.7, 0.701, r)) * 50.0
              
						def eval(vec3 pos) vec3 :
              let d = dist(pos, vec3(0, 1.5, 1.5))
              in
							  vec3(
								 densityForRadius(d - abs(fbm(pos * 3.0, 6)) * 0.2)
							  )
						]]>
            </shader>
            <wavelength_dependent>false</wavelength_dependent>
          </shader>
          <!--<constant>
            <uniform>
              <value>1</value>
            </uniform>
          </constant>-->

        </scattering_coefficient>

        <phase_function>
          <uniform/>
        </phase_function>
      </subsurface_scattering>

    </basic>
  </medium>

  <material>
		<name>sss</name>

    <specular>
      <transparent>true</transparent>
      <internal_medium_name>sss_medium</internal_medium_name>
    </specular>
  </material>



  <!-- Ground Material -->
  <material>
    <name>white</name>

    <diffuse>
      <colour>0.7 0.7 0.7</colour>
		</diffuse>
	</material>
	
	<material>
		<name>checker</name>
		
		<diffuse>
			<colour>0.6 0.2 0.2</colour>
			
			<!--<albedo_texture>
				<uv_set>albedo</uv_set>
				<path>preview_squaretile.jpg</path>
				<exponent>2.3</exponent>
			</albedo_texture>-->	
		</diffuse>    
	</material>

		
	<!-- Define a Mesh -->
	<mesh>
		<name>mesh1</name>
	
		<normal_smoothing>false</normal_smoothing>
		<embedded>
			<expose_uv_set>
				<index>0</index>
				<name>albedo</name>
			</expose_uv_set>
				
			<expose_uv_set>
				<index>0</index>
				<name>bump</name>
			</expose_uv_set>
			
			<vertex pos="-10 -10 0" normal="0 0 1" uv0="0 0" />
			<vertex pos="-10 10 0" normal="0 0 1" uv0="0 10" />
			<vertex pos="10 10 0" normal="0 0 1" uv0="10 10" />
			<vertex pos="10 -10 0" normal="0 0 1" uv0="10 0" />
				
			<triangle_set>						
				<material_name>white</material_name>
				<tri>0 1 2</tri>
				<tri>0 2 3</tri>
			</triangle_set>
			
			<vertex pos="-10 3 0" normal="0 -1 0" uv0="0 0" />
			<vertex pos="-10 3 20" normal="0 -1 0" uv0="0 10" />
			<vertex pos="10 3 20" normal="0 -1 0" uv0="10 10" />
			<vertex pos="10 3 0" normal="0 -1 0" uv0="10 0" />
				
			<triangle_set>						
				<material_name>checker</material_name>
				<tri>4 5 6</tri>
				<tri>4 6 7</tri>
			</triangle_set>
		</embedded>
	</mesh>
	
	<model>
		<pos>0 0 0</pos>
		<scale>1</scale>
		<mesh_name>mesh1</mesh_name>
	</model>



  <mesh>
    <name>block</name>

    <normal_smoothing>false</normal_smoothing>
    <embedded>
      <vertex pos="1.000000 1.000000 -1.000000" normal="-0.000000 -0.000000 -1.000000"/>
      <vertex pos="1.000000 -1.000000 -1.000000" normal="-0.000000 -0.000000 -1.000000"/>
      <vertex pos="-1.000000 -1.000000 -1.000000" normal="-0.000000 -0.000000 -1.000000"/>
      <vertex pos="-1.000000 1.000000 -1.000000" normal="-0.000000 -0.000000 -1.000000"/>
      <vertex pos="1.000000 1.000000 1.000000" normal="0.000000 0.000000 1.000000" uv0="1 1" />
      <vertex pos="-1.000000 1.000000 1.000000" normal="0.000000 0.000000 1.000000" uv0="-1 1" />
      <vertex pos="-1.000000 -1.000000 1.000000" normal="0.000000 0.000000 1.000000" uv0="-1 -1" />
      <vertex pos="0.999999 -1.000001 1.000000" normal="0.000000 0.000000 1.000000" uv0="1 -1" />
      <vertex pos="1.000000 1.000000 -1.000000" normal="1.000000 -0.000000 0.000000"/>
      <vertex pos="1.000000 1.000000 1.000000" normal="1.000000 -0.000000 0.000000"/>
      <vertex pos="0.999999 -1.000001 1.000000" normal="1.000000 -0.000000 0.000000"/>
      <vertex pos="1.000000 -1.000000 -1.000000" normal="1.000000 -0.000000 0.000000"/>
      <vertex pos="1.000000 -1.000000 -1.000000" normal="-0.000000 -1.000000 -0.000000" uv0="1 -1" />
      <vertex pos="0.999999 -1.000001 1.000000" normal="-0.000000 -1.000000 -0.000000" uv0="1 1" />
      <vertex pos="-1.000000 -1.000000 1.000000" normal="-0.000000 -1.000000 -0.000000" uv0="-1 1" />
      <vertex pos="-1.000000 -1.000000 -1.000000" normal="-0.000000 -1.000000 -0.000000" uv0="-1 -1" />
      <vertex pos="-1.000000 -1.000000 -1.000000" normal="-1.000000 0.000000 -0.000000"/>
      <vertex pos="-1.000000 -1.000000 1.000000" normal="-1.000000 0.000000 -0.000000"/>
      <vertex pos="-1.000000 1.000000 1.000000" normal="-1.000000 0.000000 -0.000000"/>
      <vertex pos="-1.000000 1.000000 -1.000000" normal="-1.000000 0.000000 -0.000000"/>
      <vertex pos="1.000000 1.000000 1.000000" normal="0.000000 1.000000 0.000000"/>
      <vertex pos="1.000000 1.000000 -1.000000" normal="0.000000 1.000000 0.000000"/>
      <vertex pos="-1.000000 1.000000 -1.000000" normal="0.000000 1.000000 0.000000"/>
      <vertex pos="-1.000000 1.000000 1.000000" normal="0.000000 1.000000 0.000000"/>
      <triangle_set>
        <material_name>sss</material_name>
        <tri>0 1 2</tri>
        <tri>2 3 0</tri>
        <tri>4 5 6</tri>
        <tri>6 7 4</tri>
        <tri>8 9 10</tri>
        <tri>10 11 8</tri>
        <tri>12 13 14</tri>
        <tri>14 15 12</tri>
        <tri>16 17 18</tri>
        <tri>18 19 16</tri>
        <tri>20 21 22</tri>
        <tri>22 23 20</tri>
      </triangle_set>
    </embedded>
  </mesh>

  <model>
		<pos>0 1.5 1.5</pos>
		<scale>1.0</scale>
		<mesh_name>block</mesh_name>
	</model>

</scene>




<!--<shader>
				<shader>
					<![CDATA[	
						
						def eval(vec3 pos) vec3 :
							vec3(
                if(
                  dist(pos, vec3(0.0, 1.5, 1.5)) < 0.6,
                  2.0,
                  0.0
                 )
                   
                #max(
                #  0.0, sin(e0(pos) * 10.0)
						    #)
						  )
						]]>

				</shader>
				<wavelength_dependent>false</wavelength_dependent>
			</shader>-->