1// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
2// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
3// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
4
5// Persistence Of Vision Raytracer sample file.
6// Woods.inc demonstration on spheres, cones, and cubes.
7// Try woods1.pov on slower computers.
8//
9// -w320 -h240
10// -w800 -h600 +a0.3
11
12#version 3.6;
13global_settings {assumed_gamma 2.2}
14
15#default { finish { specular 0.15 roughness 0.025 ambient 0.25 } }
16// Set default finish for wood textures before including the file
17
18#include "colors.inc"
19#include "woods.inc"
20
21camera {
22   location <0, 30, -60>
23   direction <0, 0,  3.95>
24   right x*1.33
25   look_at 3*y
26}
27
28light_source {<-50, 50, -1000> color Gray75}
29light_source {< 50, 30, -20> color White}
30
31background { color Gray30 }
32
33#declare Thing =
34union {
35   sphere{<0, 4, 0>, 1}
36   cone { -y, 1,  y, 0.5 translate 2*y }
37   box {-1, 1 translate y}
38   no_shadow
39}
40
41#declare T01 = texture { T_Wood1  rotate x*90 }
42#declare T02 = texture { T_Wood2  rotate x*90 }
43#declare T03 = texture { T_Wood3  rotate x*90 }
44#declare T04 = texture { T_Wood4  rotate x*90 }
45#declare T05 = texture { T_Wood5  rotate x*90 }
46
47#declare T06 = texture { T_Wood6  rotate x*90 }
48#declare T07 = texture { T_Wood7  rotate x*90 }
49#declare T08 = texture { T_Wood8  rotate x*90 }
50#declare T09 = texture { T_Wood9  rotate x*90 }
51#declare T10 = texture { T_Wood10 rotate x*90 }
52
53#declare T11 = texture { T_Wood11  rotate x*90 }
54#declare T12 = texture { T_Wood12  rotate x*90 }
55#declare T13 = texture { T_Wood13  rotate x*90 }
56#declare T14 = texture { T_Wood14 rotate x*90 }
57#declare T15 = texture { T_Wood15 rotate x*90 }
58
59#declare T16 = texture { T_Wood16 rotate x*90 }
60#declare T17 = texture { T_Wood17 rotate x*90 }
61#declare T18 = texture { T_Wood18 rotate x*90 }
62#declare T19 = texture { T_Wood19 rotate x*90 }
63#declare T20 = texture { T_Wood20 rotate x*90 }
64
65#declare T21 = texture { T_Wood21 rotate x*90 }
66#declare T22 = texture { T_Wood22 rotate x*90 }
67#declare T23 = texture { T_Wood23 rotate x*90 }
68#declare T24 = texture { T_Wood24 rotate x*90 }
69#declare T25 = texture { T_Wood25 rotate x*90 }
70
71#declare T26 = texture { T_Wood26 rotate x*90 }
72#declare T27 = texture { T_Wood27 rotate x*90 }
73#declare T28 = texture { T_Wood28 rotate x*90 }
74#declare T29 = texture { T_Wood29 rotate x*90 }
75#declare T30 = texture { T_Wood30 rotate x*90 }
76
77#declare T31 = texture { T_Wood31 rotate x*90 }
78#declare T32 = texture { T_Wood32 rotate x*90 }
79#declare T33 = texture { T_Wood33 rotate x*90 }
80#declare T34 = texture { T_Wood34 rotate x*90 }
81#declare T35 = texture { T_Wood35 rotate x*90 }
82
83
84
85#declare Height = 1;
86
87#declare Dist1 =  -8;
88#declare Dist2 =  -4;
89#declare Dist3 =   0;
90#declare Dist4 =   4;
91#declare Dist5 =   8;
92#declare Dist6 =  12;
93#declare Dist7 =  16;
94
95#declare Col1 =  -8;
96#declare Col2 =  -4;
97#declare Col3 =   0;
98#declare Col4 =   4;
99#declare Col5 =   8;
100
101// 1st row, left to right
102union {
103object { Thing texture{T01} translate <Col1 Height Dist1 >}
104object { Thing texture{T02} translate <Col2 Height Dist1 >}
105object { Thing texture{T03} translate <Col3 Height Dist1 >}
106object { Thing texture{T04} translate <Col4 Height Dist1 >}
107object { Thing texture{T05} translate <Col5 Height Dist1 >}
108translate -x
109}
110
111// 2nd row, left to right
112union {
113object { Thing texture{T06} translate <Col1 Height Dist2 >}
114object { Thing texture{T07} translate <Col2 Height Dist2 >}
115object { Thing texture{T08} translate <Col3 Height Dist2 >}
116object { Thing texture{T09} translate <Col4 Height Dist2 >}
117object { Thing texture{T10} translate <Col5 Height Dist2 >}
118translate  x
119}
120
121// 3rd row, left to right
122union {
123object { Thing texture{T11} translate <Col1 Height Dist3 >}
124object { Thing texture{T12} translate <Col2 Height Dist3 >}
125object { Thing texture{T13} translate <Col3 Height Dist3 >}
126object { Thing texture{T14} translate <Col4 Height Dist3 >}
127object { Thing texture{T15} translate <Col5 Height Dist3 >}
128translate -x
129}
130
131// 4th row, left to right
132union {
133object { Thing texture{T16} translate <Col1 Height Dist4 >}
134object { Thing texture{T17} translate <Col2 Height Dist4 >}
135object { Thing texture{T18} translate <Col3 Height Dist4 >}
136object { Thing texture{T19} translate <Col4 Height Dist4 >}
137object { Thing texture{T20} translate <Col5 Height Dist4 >}
138translate  x
139}
140
141// 5th row, left to right
142union {
143object { Thing texture{T21} translate <Col1 Height Dist5 >}
144object { Thing texture{T22} translate <Col2 Height Dist5 >}
145object { Thing texture{T23} translate <Col3 Height Dist5 >}
146object { Thing texture{T24} translate <Col4 Height Dist5 >}
147object { Thing texture{T25} translate <Col5 Height Dist5 >}
148translate -x
149}
150
151// 6th row, left to right
152union {
153object { Thing texture{T26} translate <Col1 Height Dist6 >}
154object { Thing texture{T27} translate <Col2 Height Dist6 >}
155object { Thing texture{T28} translate <Col3 Height Dist6 >}
156object { Thing texture{T29} translate <Col4 Height Dist6 >}
157object { Thing texture{T30} translate <Col5 Height Dist6 >}
158translate x
159}
160
161// 7th row, left to right
162union {
163object { Thing texture{T31} translate <Col1 Height Dist7 >}
164object { Thing texture{T32} translate <Col2 Height Dist7 >}
165object { Thing texture{T33} translate <Col3 Height Dist7 >}
166object { Thing texture{T34} translate <Col4 Height Dist7 >}
167object { Thing texture{T35} translate <Col5 Height Dist7 >}
168translate -x
169}
170
171
172