Utilisation : Les liens ne sont pas apparents. Pour obtenir des informations sur un mot clé, cliquez-le dans le script !
// Persistence Of Vision raytracer version 3.5 sample file. // updated for compatibility with POV-Ray v3.5 by Ken Tyler on 08-26-01 // piece 3 // by Truman Brown (12/91) // Due to the large number of objects, you will probably have to // have a lot of memory to render this scene. // Rendering time using a 25Mhz 386 w/Cyrix fpu is approximately 60 hours. // NOTE: The following comment by Truman is no longer relevant. The // gamma has been modified by the assumed_gamma setting below. -dmf // // The lighting is intentionally dim when the image is rendered. // You can enhance the image using PicLab's gamma, brightness, and // contrast command when you post-process the image. global_settings {assumed_gamma 0.8 max_trace_level 5} #include "colors.inc" #include "textures.inc" #include "shapes.inc" #declare YourTexture = texture { /* Dan Farmer's oak texture */ pigment { wood turbulence 0.05 color_map { [0.00 0.10 color red 0.42 green 0.26 blue 0.15 color red 0.42 green 0.26 blue 0.15] [0.10 0.90 color red 0.42 green 0.26 blue 0.15 color red 0.52 green 0.37 blue 0.26] [0.90 1.01 color red 0.52 green 0.37 blue 0.26 color red 0.52 green 0.37 blue 0.26] } rotate 90*x scale 3 } } #declare BallTexture1 = /* Shiny sugar candy red */ texture { pigment {Firebrick} finish { ambient 0.0 diffuse 0.6 specular 1.00 roughness 0.00001 } } #declare RodTexture1 = /* Dim goldish */ texture { pigment {Sienna} finish { ambient 0.0 diffuse 0.6 specular 1.00 roughness 0.00001 } } #include "curly-q.inc" /* 1251 spheres rotating around in a ring */ /* brought to you by Spiral 2.0 and ctds 1.6 */ camera { location <7.0, 50.0,-30.0> /* Up high and in close. */ direction <0.0, 0.0, 2.0> /* Though this doesn't highlight */ up <0.0, 1.0, 0.0> /* the height of the piece, it */ right <4/3, 0.0, 0.0> /* gives the effect i'm looking */ look_at <0.0, 15.0, 0.0> /* for. Feel free to change. */ } light_source {<99, 70,-90> color red 0.1 green 0.1 blue 0.1} light_source {<-35, 80,-80> color red 0.5 green 0.5 blue 0.5} #declare xrod = /* Horizontal left-right rod floating at <0 0 0> */ object { Cylinder_X clipped_by { plane {x, 100.0} plane {-x, 100.0} } texture {RodTexture1} scale <1.0, 0.3, 0.3> } #declare zrod = /* Horizontal in-out rod floating at <0 0 0> */ object { Cylinder_Z clipped_by { plane {z, 100.0} plane {-z, 100.0} } texture {RodTexture1} scale <0.3, 0.3, 1.0> } union { /* Build a floor grid */ object {zrod translate <-100, 0, 0>} /* extending beyond */ object {zrod translate <-92, 0, 0>} /* camera view to be */ object {zrod translate <-84, 0, 0>} /* captured in reflec-*/ object {zrod translate <-76, 0, 0>} /* tions. */ object {zrod translate <-68, 0, 0>} object {zrod translate <-60, 0, 0>} object {zrod translate <-52, 0, 0>} object {zrod translate <-44, 0, 0>} object {zrod translate <-36, 0, 0>} object {zrod translate <-28, 0, 0>} object {zrod translate <-20, 0, 0>} object {zrod translate <-12, 0, 0>} object {zrod translate <-4, 0, 0>} object {zrod translate <4, 0, 0>} object {zrod translate <12, 0, 0>} object {zrod translate <20, 0, 0>} object {zrod translate <28, 0, 0>} object {zrod translate <36, 0, 0>} object {zrod translate <44, 0, 0>} object {zrod translate <52, 0, 0>} object {zrod translate <60, 0, 0>} object {zrod translate <68, 0, 0>} object {zrod translate <76, 0, 0>} object {zrod translate <84, 0, 0>} object {zrod translate <92, 0, 0>} object {zrod translate <100, 0, 0>} object {xrod translate <0, 0,-100>} object {xrod translate <0, 0,-92>} object {xrod translate <0, 0,-84>} object {xrod translate <0, 0,-76>} object {xrod translate <0, 0,-68>} object {xrod translate <0, 0,-60>} object {xrod translate <0, 0,-52>} object {xrod translate <0, 0,-44>} object {xrod translate <0, 0,-36>} object {xrod translate <0, 0,-28>} object {xrod translate <0, 0,-20>} object {xrod translate <0, 0,-12>} object {xrod translate <0, 0,-4>} object {xrod translate <0, 0, 4>} object {xrod translate <0, 0, 20>} object {xrod translate <0, 0, 36>} object {xrod translate <0, 0, 52>} object {xrod translate <0, 0, 64>} object {xrod translate <0, 0, 72>} object {xrod translate <0, 0, 80>} object {xrod translate <0, 0, 88>} object {xrod translate <0, 0, 100>} // bounded_by { // object {Cube scale <101.0, 0.5, 101.0>} // } } sphere { /* Big ellipsoid to reflect stuff */ <0, 0, 0>, 1 scale <6.25, 4.0, 6.25> translate <0.0, 14.5, 0.0> texture { pigment {SteelBlue} finish { ambient 0.0 diffuse 0.6 reflection 0.99 specular 1.0 roughness 0.00001 } } } plane { /* Sub-plane {to reflect poles and curly-q */ y, -1.5 texture { pigment { marble turbulence 0.65 color_map { [0.0 0.67 color Black color DimGray] [0.67 0.775 color DimGray color SteelBlue] [0.775 1.001 color SteelBlue color Black] } scale <10, 8, 8> scale <20, 20, 20> /* Double scaled while debugging. */ } finish { ambient 0.05 diffuse 0.75 specular 1.0 roughness 0.00002432 reflection 0.95 } } /* This gets the gray under the */ } /* curly-q and gets the blue to */ /* reflect off the curly-q nicely.*/ object {spirals translate <0.0, 14.75, 0.0>} /* The curly-q! */ #declare ball = /* Ball to top poles placed inside of curly-q */ sphere { <0, 14.75, 0>, 2 texture { pigment {Firebrick} finish { reflection 0.95 ambient 0.0 diffuse 0.5 specular 1.0 roughness 0.00001 } } } #declare pole = /* Pole to be placed inside of curly-q */ object { Disk_Y scale <0.5, 14.75, 0.5> texture { pigment {Firebrick} finish { reflection 0.95 ambient 0.0 diffuse 0.5 specular 1.0 roughness 0.00001 } } } /* Construct the poles. */ object {pole translate <11, 0, 0> rotate <0, 18, 0>} /* Could have made this */ object {pole translate <11, 0, 0> rotate <0, 54, 0>} /* a composite, but */ object {pole translate <11, 0, 0> rotate <0, 90, 0>} /* didn't see the point.*/ object {pole translate <11, 0, 0> rotate <0, 126, 0>} object {pole translate <11, 0, 0> rotate <0, 162, 0>} object {pole translate <11, 0, 0> rotate <0, 198, 0>} object {pole translate <11, 0, 0> rotate <0, 234, 0>} object {pole translate <11, 0, 0> rotate <0, 270, 0>} object {pole translate <11, 0, 0> rotate <0, 306, 0>} object {pole translate <11, 0, 0> rotate <0, 342, 0>} /* Construct the balls. */ object {ball translate <11, 0, 0> rotate <0, 18, 0>} object {ball translate <11, 0, 0> rotate <0, 54, 0>} object {ball translate <11, 0, 0> rotate <0, 90, 0>} object {ball translate <11, 0, 0> rotate <0, 126, 0>} object {ball translate <11, 0, 0> rotate <0, 162, 0>} object {ball translate <11, 0, 0> rotate <0, 198, 0>} object {ball translate <11, 0, 0> rotate <0, 234, 0>} object {ball translate <11, 0, 0> rotate <0, 270, 0>} object {ball translate <11, 0, 0> rotate <0, 306, 0>} object {ball translate <11, 0, 0> rotate <0, 342, 0>} #declare Connector_1 = cylinder { <0, 0, 0>, <1, 0, 0>, 1 texture { pigment {DimGray} finish { ambient 0.0 diffuse 0.6 specular 1.0 roughness 0.00001 reflection 0.25 } } } #include "links.inc" /* Poles linking interior balls and poles */ object {links rotate <0, 18, 0> translate <0.0, 14.75, 0.0>}Et voici ce que nous obtenons :
