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