Disabled external gits
This commit is contained in:
25
cs440-acg/scenes/pa5/tests/chi2test-microfacet.xml
Normal file
25
cs440-acg/scenes/pa5/tests/chi2test-microfacet.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<test type="chi2test">
|
||||
<!-- Test a few different configurations of the microfacet model -->
|
||||
<bsdf type="microfacet">
|
||||
<float name="alpha" value="0.1"/>
|
||||
<float name="intIOR" value="1.33"/>
|
||||
<float name="extIOR" value="1.01"/>
|
||||
<color name="kd" value="0.0, 0.0, 0.0"/>
|
||||
</bsdf>
|
||||
|
||||
<bsdf type="microfacet">
|
||||
<float name="alpha" value="0.3"/>
|
||||
<float name="intIOR" value="1.5"/>
|
||||
<float name="extIOR" value="1.01"/>
|
||||
<color name="kd" value="0.2, 0.1, 0.6"/>
|
||||
</bsdf>
|
||||
|
||||
<bsdf type="microfacet">
|
||||
<float name="alpha" value="0.6"/>
|
||||
<float name="intIOR" value="1.8"/>
|
||||
<float name="extIOR" value="1.3"/>
|
||||
<color name="kd" value="0.4, 0.2, 0.3"/>
|
||||
</bsdf>
|
||||
</test>
|
6
cs440-acg/scenes/pa5/tests/floor.obj
Normal file
6
cs440-acg/scenes/pa5/tests/floor.obj
Normal file
@@ -0,0 +1,6 @@
|
||||
v -10 0 -10
|
||||
v -10 0 10
|
||||
v 10 0 10
|
||||
v 10 0 -10
|
||||
f 1 2 3
|
||||
f 1 3 4
|
58
cs440-acg/scenes/pa5/tests/furnace.obj
Normal file
58
cs440-acg/scenes/pa5/tests/furnace.obj
Normal file
@@ -0,0 +1,58 @@
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 0.500000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.625000 0.250000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.875000 0.000000
|
||||
vt 0.875000 0.250000
|
||||
vt 0.125000 0.000000
|
||||
vt 0.125000 0.250000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
f 1/1/1 2/2/2 3/3/3
|
||||
f 3/3/3 2/2/2 4/4/4
|
||||
f 3/3/5 4/4/6 5/5/7
|
||||
f 5/5/7 4/4/6 6/6/8
|
||||
f 5/5/9 6/6/10 7/7/11
|
||||
f 7/7/11 6/6/10 8/8/12
|
||||
f 7/7/13 8/8/14 1/9/15
|
||||
f 1/9/15 8/8/14 2/10/16
|
||||
f 2/2/17 8/11/18 4/4/19
|
||||
f 4/4/19 8/11/18 6/12/20
|
||||
f 7/13/21 1/1/22 5/14/23
|
||||
f 5/14/23 1/1/22 3/3/24
|
90
cs440-acg/scenes/pa5/tests/polylum.py
Normal file
90
cs440-acg/scenes/pa5/tests/polylum.py
Normal file
@@ -0,0 +1,90 @@
|
||||
#!python
|
||||
|
||||
import numpy as np
|
||||
import sys
|
||||
|
||||
# Make up test cases with polygonal luminaires.
|
||||
|
||||
# Step 1: generate a random triangle that lies in the +y half-space.
|
||||
# Make sure it faces the origin.
|
||||
v = np.transpose(np.random.rand(3,3) - [[0.5], [0], [0.5]])
|
||||
normal = np.cross(v[1] - v[0], v[2] - v[0])
|
||||
if (np.dot(normal, v[0]) > 0):
|
||||
v = np.flipud(v)
|
||||
|
||||
# Step 2: compute the irradiance using Lambert's formula.
|
||||
# See Arvo's thesis, equations 3.1 to 3.3.
|
||||
|
||||
def norm(x):
|
||||
return np.sqrt(np.dot(x,x))
|
||||
|
||||
Phi = 0 # vector irradiance
|
||||
for k0 in range(3):
|
||||
k1 = (k0 + 1) % 3
|
||||
Theta = np.arccos(np.dot(v[k0], v[k1]) / (norm(v[k0]) * norm(v[k1])))
|
||||
Gamma1 = np.cross(v[k0], v[k1])
|
||||
Gamma = Gamma1 / norm(Gamma1)
|
||||
Phi += 1 / 4.0 * Theta * Gamma
|
||||
|
||||
irradiance = -np.dot(Phi, [0,1,0])
|
||||
|
||||
# Step 3: write out a nori test scene, wrapped in a t-test
|
||||
|
||||
xml_text = """<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<test type="ttest">
|
||||
<string name="references" value="%g"/>
|
||||
|
||||
<scene>
|
||||
<integrator type="path"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="%s"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<luminaire type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</luminaire>
|
||||
</mesh>
|
||||
</scene>
|
||||
</test>
|
||||
"""
|
||||
|
||||
obj_text = """v %g %g %g
|
||||
v %g %g %g
|
||||
v %g %g %g
|
||||
f 1 2 3
|
||||
"""
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
print "Usage: python polylum.py <xml output file> <obj output file>"
|
||||
sys.exit(-1)
|
||||
|
||||
fname_obj = sys.argv[2]
|
||||
|
||||
f_xml = open(sys.argv[1], 'w')
|
||||
f_xml.write(xml_text % (.5 / np.pi * irradiance, fname_obj))
|
||||
f_xml.close()
|
||||
|
||||
f_obj = open(fname_obj, 'w')
|
||||
f_obj.write(obj_text % tuple(v.flat))
|
||||
f_obj.close()
|
4
cs440-acg/scenes/pa5/tests/polylum1.obj
Normal file
4
cs440-acg/scenes/pa5/tests/polylum1.obj
Normal file
@@ -0,0 +1,4 @@
|
||||
v -0.443432 0.596366 0.495985
|
||||
v -0.320397 0.0677699 -0.229359
|
||||
v 0.0341197 0.11415 -0.343049
|
||||
f 1 2 3
|
4
cs440-acg/scenes/pa5/tests/polylum2.obj
Normal file
4
cs440-acg/scenes/pa5/tests/polylum2.obj
Normal file
@@ -0,0 +1,4 @@
|
||||
v 0.461963 0.397843 0.412747
|
||||
v -0.0381582 0.851323 -0.156872
|
||||
v 0.195443 0.891957 -0.260672
|
||||
f 1 2 3
|
4
cs440-acg/scenes/pa5/tests/polylum3.obj
Normal file
4
cs440-acg/scenes/pa5/tests/polylum3.obj
Normal file
@@ -0,0 +1,4 @@
|
||||
v 0.100871 0.289075 -0.422609
|
||||
v -0.308386 0.629587 0.423966
|
||||
v -0.373132 0.237287 0.351592
|
||||
f 1 2 3
|
4
cs440-acg/scenes/pa5/tests/polylum4.obj
Normal file
4
cs440-acg/scenes/pa5/tests/polylum4.obj
Normal file
@@ -0,0 +1,4 @@
|
||||
v -0.17575 0.639397 0.151268
|
||||
v 0.318604 0.732996 0.459771
|
||||
v 0.139095 0.294498 0.478556
|
||||
f 1 2 3
|
4
cs440-acg/scenes/pa5/tests/polylum5.obj
Normal file
4
cs440-acg/scenes/pa5/tests/polylum5.obj
Normal file
@@ -0,0 +1,4 @@
|
||||
v -0.17487 0.447916 0.367201
|
||||
v -0.405259 0.249607 -0.354079
|
||||
v 0.356029 0.0918984 -0.132271
|
||||
f 1 2 3
|
489
cs440-acg/scenes/pa5/tests/test-direct.xml
Normal file
489
cs440-acg/scenes/pa5/tests/test-direct.xml
Normal file
@@ -0,0 +1,489 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<test type="ttest">
|
||||
<string name="references"
|
||||
value="0.0898394, 0.02292, 0.0534198, 0.0205314, 0.26174,
|
||||
0.0898394, 0.02292, 0.0534198, 0.0205314, 0.26174,
|
||||
0.0898394, 0.02292, 0.0534198, 0.0205314, 0.26174"/>
|
||||
|
||||
|
||||
<scene>
|
||||
<integrator type="path_ems"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum1.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_ems"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum2.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_ems"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum3.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_ems"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum4.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_ems"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum5.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mats"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum1.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mats"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum2.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mats"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum3.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mats"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum4.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mats"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum5.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mis"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum1.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mis"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum2.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mis"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum3.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mis"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum4.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mis"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<transform name="toWorld">
|
||||
<lookat origin="0, 0.01, 0"
|
||||
target="0, 0, 0"
|
||||
up="0, 0, 1"/>
|
||||
</transform>
|
||||
<float name="fov" value="1e-6"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="floor.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
</mesh>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="polylum5.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0, 0, 0"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
</test>
|
140
cs440-acg/scenes/pa5/tests/test-furnace.xml
Normal file
140
cs440-acg/scenes/pa5/tests/test-furnace.xml
Normal file
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Furnace
|
||||
|
||||
This test has the camera located inside a diffuse box with emittance 1
|
||||
and albedo "a". The amount of illumination received by the camera should
|
||||
be be the same in all directions and equal to
|
||||
|
||||
1 + a + a^2 + ... = 1 / (1-a)
|
||||
|
||||
The following tests this for both the direct_ems tracer and the MIS direct_ems
|
||||
tracer, with two different values of "a".
|
||||
-->
|
||||
|
||||
<test type="ttest">
|
||||
<string name="references" value="2, 5, 2, 5, 2, 5"/>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_ems"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<float name="fov" value="10"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="furnace.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_ems"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<float name="fov" value="10"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="furnace.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.8, 0.8, 0.8"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mats"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<float name="fov" value="10"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="furnace.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mats"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<float name="fov" value="10"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="furnace.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.8, 0.8, 0.8"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mis"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<float name="fov" value="10"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="furnace.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.5, 0.5, 0.5"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
<scene>
|
||||
<integrator type="path_mis"/>
|
||||
|
||||
<camera type="perspective">
|
||||
<float name="fov" value="10"/>
|
||||
<integer name="width" value="1"/>
|
||||
<integer name="height" value="1"/>
|
||||
</camera>
|
||||
|
||||
<mesh type="obj">
|
||||
<string name="filename" value="furnace.obj"/>
|
||||
<bsdf type="diffuse">
|
||||
<color name="albedo" value="0.8, 0.8, 0.8"/>
|
||||
</bsdf>
|
||||
<emitter type="area">
|
||||
<color name="radiance" value="1, 1, 1"/>
|
||||
</emitter>
|
||||
</mesh>
|
||||
</scene>
|
||||
|
||||
</test>
|
13
cs440-acg/scenes/pa5/tests/ttest-microfacet.xml
Normal file
13
cs440-acg/scenes/pa5/tests/ttest-microfacet.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<test type="ttest">
|
||||
<string name="angles" value=" 0, 45, 60, 80, 85"/>
|
||||
<string name="references" value="0.207067, 0.215733, 0.247884, 0.430936, 0.519016"/>
|
||||
|
||||
<bsdf type="microfacet">
|
||||
<float name="alpha" value="0.1"/>
|
||||
<float name="intIOR" value="1.5"/>
|
||||
<float name="extIOR" value="1.000277"/>
|
||||
<color name="kd" value="0.1, 0.2, 0.15"/>
|
||||
</bsdf>
|
||||
</test>
|
Reference in New Issue
Block a user