summaryrefslogtreecommitdiffstats
path: root/tests/dimension/csg.pov
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-04-10 22:09:45 -0400
committerTavian Barnes <tavianator@gmail.com>2010-04-10 22:27:56 -0400
commit26a6f5d017be9ec0ec03cd20d082546a4e435746 (patch)
tree75dc9e989945e5b15909328d5a910646bf72abaa /tests/dimension/csg.pov
parent0f356fe6d666b7f43b5b6f4565fe0b890228a75d (diff)
downloaddimension-26a6f5d017be9ec0ec03cd20d082546a4e435746.tar.xz
Improve CSG and light handling.
- Lights can be inside CSG objects - Lights can be modified by transformations - CSG objects can contain only one object
Diffstat (limited to 'tests/dimension/csg.pov')
-rw-r--r--tests/dimension/csg.pov65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/dimension/csg.pov b/tests/dimension/csg.pov
new file mode 100644
index 0000000..046510f
--- /dev/null
+++ b/tests/dimension/csg.pov
@@ -0,0 +1,65 @@
+/*************************************************************************
+ * Copyright (C) 2010 Tavian Barnes <tavianator@gmail.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/>. *
+ *************************************************************************/
+
+// Test constructive solid geometry
+
+camera {
+ perspective
+ location -4*z
+ right 1.6*x
+ look_at 0
+}
+
+background {
+ color rgbf <0, 0.1, 0.2, 0.1>
+}
+
+/* One-object unions */
+
+union {
+ sphere {
+ -1.5*x, 1
+ pigment { color red 1 }
+ }
+}
+
+union {
+ light_source {
+ 20*y, color rgb 0.5
+ }
+}
+
+/* CSG with lights */
+difference {
+ light_source {
+ -15*x, color rgb 0.5
+ }
+ sphere {
+ 1.5*x - 20*y, 1
+ pigment { color green 1 }
+ }
+ light_source {
+ 15*x, color rgb 0.5
+ }
+ box {
+ <0.7, -20.8, -0.8>, <2.3, -19.2, 0.8>
+ pigment { color blue 1 }
+ }
+ translate 20*y
+}