summaryrefslogtreecommitdiffstats
path: root/dimension/tests/cube.dmnsn
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2011-12-04 19:07:57 -0500
committerTavian Barnes <tavianator@gmail.com>2011-12-04 19:07:57 -0500
commit4d3e396ce91dd70b0c9d7f3b1e991fd8ebd0d582 (patch)
treeacc360400de06cae7193250c7caef5c77c7b29a3 /dimension/tests/cube.dmnsn
parent176054363582b08aaf93bb4fcc0f26521c0f884c (diff)
downloaddimension-4d3e396ce91dd70b0c9d7f3b1e991fd8ebd0d582.tar.xz
Rename complex test to cube test.
Diffstat (limited to 'dimension/tests/cube.dmnsn')
-rw-r--r--dimension/tests/cube.dmnsn69
1 files changed, 69 insertions, 0 deletions
diff --git a/dimension/tests/cube.dmnsn b/dimension/tests/cube.dmnsn
new file mode 100644
index 0000000..22c926d
--- /dev/null
+++ b/dimension/tests/cube.dmnsn
@@ -0,0 +1,69 @@
+#########################################################################
+# Copyright (C) 2010-2011 Tavian Barnes <tavianator@tavianator.com> #
+# #
+# This file is part of The Dimension Test Suite. #
+# #
+# The Dimension Test Suite is free software; you can redistribute it #
+# and/or modify it under the terms of the GNU General Public License as #
+# published by the Free Software Foundation; either version 3 of the #
+# License, or (at your option) any later version. #
+# #
+# The Dimension Test Suite is distributed in the hope that it will be #
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty #
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
+# General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+#########################################################################
+
+camera = PerspectiveCamera(location = (3, 6, -11),
+ look_at = 0)
+
+background = 0.5*sRGB(0.73, 0.90, 0.97)
+
+def make_light(x, y, z):
+ return PointLight(location = (x, y, z), color = White/4)
+
+for x in [-3, -1, 1, 3]:
+ for y in [0, 5]:
+ lights.append(make_light(x, y, -5))
+
+objects.append(
+ Plane(
+ normal = Y, distance = -4,
+
+ texture = Texture(
+ pigment = sRGB(0.73, 0.90, 0.97),
+ finish = Ambient(sRGB(0.5)),
+ )
+ )
+)
+
+def make_sphere(x, y, z, size):
+ size -= 1
+
+ dx = sin(2*pi*x/size)
+ dy = sin(2*pi*y/size)
+ dz = sin(2*pi*z/size)
+ return Sphere(
+ center = 5*Vector(x, y, z)/size
+ + Vector(dy + dz, dx + dz, dx + dy)/4
+ - Vector(2.5, 2.5, 2.5),
+ radius = 2/size,
+
+ texture = Texture(
+ pigment = sRGB(x/size, y/size, z/size),
+ finish = Ambient(sRGB(0.25))
+ + Diffuse(sRGB(0.8))
+ + Reflection(0, 0.25)
+ )
+ )
+
+size = 10
+for x in range(size):
+ for y in range(size):
+ for z in range(size):
+ objects.append(make_sphere(x, y, z, size))
+
+recursion_limit = 2*size