1// Persistence Of Vision Ray Tracer Scene Description File
2// -------------------------------------------------------
3// File: @(#)listed.pov
4// Description: 'listed' pattern demonstration
5// Features demonstrated: listed pattern
6// Creation Date: $ 27 Sep 2000, 16:10:45 $
7// Last modified: $ 14 Jun 2004, 22:37:56 $
8// Author: Ren� Smellenbergh
9//
10// @@ Listed picks the color, pigment, normal or texture at the specified location in the map.
11// @@ Using loops, textures can be taken from the map in different ways. The second and last rows
12// @@ are randomly picked from their map, the first and third in a linear way.
13//
14// -w320 -h240 +a0.3
15
16#version unofficial MegaPov 1.1;
17
18global_settings {
19	assumed_gamma 1.0
20}
21
22camera {
23	location <0.0, 0.0, -18>
24	up y*image_height right x*image_width
25	angle 40
26	look_at <0.0, 0.0, 0.0>
27}
28
29light_source { <2000, 3000, -6000>  rgb 1.2 }
30
31background { rgb <0.2, 0, 0> }
32
33#declare PListA =
34	color_map {
35		[ 0.0 rgb <0.834806, 0.746777, 0.605188> ]
36		[ 0.12 rgb <0.719982, 0.583948, 0.239994> ]
37		[ 0.23 rgb <0.797894, 0.577569, 0.342077> ]
38		[ 0.5 rgb <0.555993, 0.373999, 0.244007> ]
39		[ 0.7 rgb <0.613184, 0.374868, 0.226795> ]
40		[ 1.0 rgb <0.523568, 0.272648, 0.156405> ]
41	}
42#declare NListA =
43	normal_map {
44		[ 0.0 agate bump_size 0.8 scale 0.3 ]
45		[ 0.5 granite 0.6 scale 0.5 ]
46		[ 1.0 crackle ]
47	}
48
49box {
50	<-5.5, -0.3, -0.5>, <5.5, 0.3, 0.5>
51	texture {
52		pigment {
53			gradient x
54			color_map { PListA }
55		}
56		normal {
57			gradient x
58			normal_map { NListA }
59		}
60		scale <11, 1, 1>
61		translate x*-5.5
62	}
63	translate <0, 2, 0>
64}
65
66#local C = 0;
67#local Copies = 12;
68
69#while ( C < Copies)
70	sphere {
71		<0.0, 0.0, 0.0>, 0.5
72		texture {
73			pigment {
74				listed (C/(Copies -1))
75				color_map { PListA }
76//					[ 0.0 rgb <0.834806, 0.746777, 0.605188> ]
77//					[ 0.12 rgb <0.719982, 0.583948, 0.239994> ]
78//					[ 0.23 rgb <0.797894, 0.577569, 0.342077> ]
79//					[ 0.5 rgb <0.555993, 0.373999, 0.244007> ]
80//					[ 0.7 rgb <0.613184, 0.374868, 0.226795> ]
81//					[ 1.0 rgb <0.523568, 0.272648, 0.156405> ]
82//				}
83			}
84			normal {
85				listed (C/(Copies -1))
86				normal_map { NListA }
87//					[ 0.0 agate bump_size 0.8 scale 0.3 ]
88//					[ 0.5 granite 0.6 scale 0.5 ]
89//					[ 1.0 crackle ]
90//				}
91			}
92			finish { phong 1.0  phong_size 500 }
93		}
94		translate x * (-5.5 + (C * (5.5 - (-5.5))/(Copies -1)))
95		translate y * 3
96	} //object
97	#set C = C +1;
98#end  //while (C < Copies)
99
100#local C = 0;
101#local Copies = 12;
102#while ( C < Copies)
103	sphere {
104		<0.0, 0.0, 0.0>, 0.5
105		texture {
106			pigment {
107				listed rand(seed(C))
108				color_map { PListA }
109//					[ 0.0 rgb <0.834806, 0.746777, 0.605188> ]
110//					[ 0.12 rgb <0.719982, 0.583948, 0.239994> ]
111//					[ 0.23 rgb <0.797894, 0.577569, 0.342077> ]
112//					[ 0.5 rgb <0.555993, 0.373999, 0.244007> ]
113//					[ 0.7 rgb <0.613184, 0.374868, 0.226795> ]
114//					[ 1.0 rgb <0.523568, 0.272648, 0.156405> ]
115//				}
116			}
117			normal {
118				listed rand(seed(C))
119				normal_map { NListA }
120//					[ 0.0 agate bump_size 0.8 scale 0.3 ]
121//					[ 0.5 granite 0.6 scale 0.5 ]
122//					[ 1.0 crackle ]
123//				}
124			}
125			finish { phong 1.0  phong_size 500 }
126		}
127		translate x * (-5.5 + (C * (5.5 - (-5.5))/(Copies -1)))
128		translate y *1
129	} //object
130	#set C = C +1;
131#end  //while (C < Copies)
132
133#declare PListB =
134	color_map {
135		[ 0.0 rgb <0.976608, 0.951720, 0.763378> ]
136		[ 0.12 rgb <0.946807, 0.810803, 0.773190> ]
137		[ 0.23 rgb <0.955001, 0.751980, 0.744976> ]
138		[ 0.5 rgb <0.909804, 0.650187, 0.810315> ]
139		[ 0.7 rgb <0.700710, 0.682887, 0.897093> ]
140		[ 0.8 rgb <0.618387, 0.811933, 0.901595> ]
141		[ 1.0 rgb <0.591974, 0.928008, 0.731991> ]
142	}
143
144#declare NListB =
145	normal_map {
146		[ 0.0 agate bump_size 0.8 scale 0.3 ]
147		[ 0.1 quilted 0.5 scale 0.3 ]
148		[ 0.2 leopard 0.3 scale 0.1 ]
149		[ 0.3 bozo 0.6 scale 0.1 ]
150		[ 0.4 granite 0.6 scale 0.5 ]
151		[ 0.5 marble 0.8 scale 0.2 turbulence 0.2 ]
152		[ 0.6 granite 0.6 scale 0.5 ]
153		[ 0.7 dents 0.6 scale 0.5 ]
154		[ 0.8 wrinkles 0.6 scale 0.25 ]
155		[ 0.9 ripples 1.2 scale 0.2 ]
156		[ 1.0 crackle scale 0.5]
157	}
158
159box {
160	<-5.5, -0.3, -0.5>, <5.5, 0.3, 0.5>
161	texture {
162		pigment {
163			gradient x
164			color_map { PListB }
165		}
166		normal {
167			gradient x
168			normal_map { NListB }
169		}
170		scale <11, 1, 1>
171		translate x*-5.5
172	}
173	translate <0, -2, 0>
174}
175
176#local C = 0;
177#local Copies = 12;
178#while ( C < Copies)
179	sphere {
180		<0.0, 0.0, 0.0>, 0.5
181		texture {
182			pigment {
183				listed (C/(Copies -1))
184				color_map { PListB }
185//					[ 0.0 rgb <0.976608, 0.951720, 0.763378> ]
186//					[ 0.12 rgb <0.946807, 0.810803, 0.773190> ]
187//					[ 0.23 rgb <0.955001, 0.751980, 0.744976> ]
188//					[ 0.5 rgb <0.909804, 0.650187, 0.810315> ]
189//					[ 0.7 rgb <0.700710, 0.682887, 0.897093> ]
190//					[ 0.8 rgb <0.618387, 0.811933, 0.901595> ]
191//					[ 1.0 rgb <0.591974, 0.928008, 0.731991> ]
192//				}
193			}
194			normal {
195				listed (C/(Copies -1))
196				normal_map { NListB }
197//					[ 0.0 agate bump_size 0.8 scale 0.3 ]
198//					[ 0.1 quilted 0.5 scale 0.3 ]
199//					[ 0.2 leopard 0.3 scale 0.1 ]
200//					[ 0.3 bozo 0.6 scale 0.1 ]
201//					[ 0.4 granite 0.6 scale 0.5 ]
202//					[ 0.5 marble 0.8 scale 0.2 turbulence 0.2 ]
203//					[ 0.6 granite 0.6 scale 0.5 ]
204//					[ 0.7 dents 0.6 scale 0.5 ]
205//					[ 0.8 wrinkles 0.6 scale 0.25 ]
206//					[ 0.9 ripples 1.2 scale 0.2 ]
207//					[ 1.0 crackle scale 0.5]
208//				}
209			}
210			finish { phong 1.0  phong_size 500 }
211		}
212		translate x * (-5.5 + (C * (5.5 - (-5.5))/(Copies -1)))
213		translate y *-1
214	} //object
215	#set C = C +1;
216#end  //while (C < Copies)
217
218#local C = 0;
219#local Copies = 12;
220#while ( C < Copies)
221	sphere {
222		<0.0, 0.0, 0.0>, 0.5
223		texture {
224			pigment {
225				listed rand(seed(C))
226				color_map { PListB }
227//					[ 0.0 rgb <0.976608, 0.951720, 0.763378> ]
228//					[ 0.12 rgb <0.946807, 0.810803, 0.773190> ]
229//					[ 0.23 rgb <0.955001, 0.751980, 0.744976> ]
230//					[ 0.5 rgb <0.909804, 0.650187, 0.810315> ]
231//					[ 0.7 rgb <0.700710, 0.682887, 0.897093> ]
232//					[ 0.8 rgb <0.618387, 0.811933, 0.901595> ]
233//					[ 1.0 rgb <0.591974, 0.928008, 0.731991> ]
234//				}
235			}
236			normal {
237				listed rand(seed(C))
238				normal_map { NListB }
239//					[ 0.0 agate bump_size 0.8 scale 0.3 ]
240//					[ 0.1 quilted 0.5 scale 0.3 ]
241//					[ 0.2 leopard 0.3 scale 0.1 ]
242//					[ 0.3 bozo 0.6 scale 0.1 ]
243//					[ 0.4 granite 0.6 scale 0.5 ]
244//					[ 0.5 marble 0.8 scale 0.2 turbulence 0.2 ]
245//					[ 0.6 granite 0.6 scale 0.5 ]
246//					[ 0.7 dents 0.6 scale 0.5 ]
247//					[ 0.8 wrinkles 0.6 scale 0.25 ]
248//					[ 0.9 ripples 1.2 scale 0.2 ]
249//					[ 1.0 crackle scale 0.5]
250//				}
251			}
252			finish { phong 1.0  phong_size 500 }
253		}
254		translate x * (-5.5 + (C * (5.5 - (-5.5))/(Copies -1)))
255		translate y *-3
256	} //object
257	#set C = C +1;
258#end  //while (C < Copies)
259
260
261