// Textures // I'm using a staggared radial texture for the floor. Here's the // basic texture... It will be phased later to get the circular-checkered // effect. Kind of like the floor on the stage of this year's Academy Awards, but not exactly. #declare rad = pigment { radial color_map { [0.5 color rgb 1.0] [0.5 color rgb 0.0] } frequency 10 } // here is the texture of the rings that will surround the floor // and contain the fountains, and for all the other stone in the scene as well. #declare stonetexture = texture { pigment { color rgb 0.5 } normal {granite 1} } // Lights... camera... ...ray trace! light_source { <0, 1000, 0> color rgb 0.5//<0.17, 0.17, 0.2> media_attenuation off media_interaction off shadowless // this is always shadowless. just to help illuminate things while I try // to figure out why the cylinder lights don't light } // these are the cylindrical lights light_source { // #1 <0, 0, 82> color rgb <2.00, 0.50, 0.50> cylinder radius 45 falloff 47 tightness 100 point_at <0, 50, 82> rotate <0, 270, 0> media_interaction on shadowless //made this shadowless for test run } light_source { //#2 <0, 0, 82> color rgb <2.00, 1.00, 0.50> cylinder radius 45 falloff 47 tightness 100 point_at <0, 50, 82> rotate <0, 306, 0> media_interaction on shadowless //made this shadowless for test run } light_source { //#3 <0, 0, 82> color rgb <2.00, 2.00, 0.50> cylinder radius 45 falloff 47 tightness 100 point_at <0, 50, 82> rotate <0, 342, 0> media_interaction on shadowless //made this shadowless for test run } light_source { //#4 <0, 0, 82> color rgb <0.50, 2.00, 0.50> cylinder radius 45 falloff 60 tightness 100 point_at <0, 50, 82> rotate <0, 18, 0> media_interaction on shadowless //made this shadowless for test run } light_source { //#5 <0, 0, 82> color rgb <0.50, 0.50, 2.00> cylinder radius 45 falloff 47 tightness 100 point_at <0, 50, 82> rotate <0, 54, 0> media_interaction on shadowless //made this shadowless for test run } light_source { //#6 <0, 0, 82> color rgb <2.00, 0.50, 2.00> cylinder radius 45 falloff 47 tightness 100 point_at <0, 50, 82> rotate <0, 90, 0> media_interaction on shadowless //made this shadowless for test run } camera { location <0, 200, 0> look_at <0, 0, 0> } // Every scene needs some objects. // I've never used discs before.. but layering concentric rings // was the only way I could think of to get the pattern I wanted. // The discs have the "rad" pattern, one half phase off from each other. disc { // White circle in the center <0, 0, 0>, y, 5 pigment {color rgb 1} } disc { <0, 0, 0>, y, 10, 5 pigment {rad} } disc { <0, 0, 0>, y, 15, 10 pigment {rad phase 0.5} } disc { <0, 0, 0>, y, 20, 15 pigment {rad} } disc { <0, 0, 0>, y, 25, 20 pigment {rad phase 0.5} } disc { <0, 0, 0>, y, 30, 25 pigment {rad} } disc { <0, 0, 0>, y, 35, 30 pigment {rad phase 0.5} } disc { <0, 0, 0>, y, 40, 35 pigment {rad} } disc { <0, 0, 0>, y, 45, 40 pigment {rad phase 0.5} } disc { <0, 0, 0>, y, 50, 45 pigment {rad} } disc { <0, 0, 0>, y, 55, 50 pigment {rad phase 0.5} } disc { <0, 0, 0>, y, 60, 55 pigment {rad} } disc { <0, 0, 0>, y, 65, 60 pigment {rad phase 0.5} } disc { <0, 0, 0>, y, 70, 65 pigment {rad} } // this large ring immediately surrounds the floor difference { cylinder { <0, -3, 0>, <0, 1, 0>, 72 } cylinder { <0, -3.1, 0>, <0, 1.1, 0>, 70 } texture {stonetexture} } // this outer ring will surround the floor, and the several mini-rings that will hold the fountains. difference { cylinder { <0, -3, 0>, <0, 1, 0>, 94 } cylinder { <0, -3.1, 0>, <0, 1.1, 0>, 92 } texture {stonetexture} } // Here's the ground that will surround the floor. I cut out the area where // the floor and rings are so you don't see grass (or this really bad // aproximation of grass) in the bottom. difference { plane { y, -0.5 texture { pigment { color rgb <0.25, 1.00, 0.25> } normal { average normal_map { // just arbitary trial & error numbers to not [granite 2] // have too smooth of a ground [bumps 1] [dents 2] [crackle 1] } } } hollow } cylinder { <0, -3.00001, 0>, <0, 1, 0>, 94 texture { pigment { color rgb 0.50 } normal { average normal_map { [granite 2] // more arbitrary trial & error valuse to make [crackle 2] // the inside of the pools not be smooth } } } hollow no_shadow } hollow on }