// Persistence of Vision Ray Tracer Scene Description File // File: 3clover4.pov // Vers: 3.0 // Desc: Clover Patch with Four-Leaf Clover in Midst of Dappled Sunlight // Date: 99.08 // Auth: Bob Hughes #declare FB=1 //focal blur used or not? 1=yes global_settings { max_trace_level 3 ambient_light <1.4,1.6,1.5> } //Camera position #declare LCX = 0 #declare LCY = 25 #declare LCZ = -50 //Sunlight light_source { <0,90,0> color rgb <1.75,1.5,1.25>*2.5 area_light <10,0,0>,<0,0,10>,3,3 //atmospheric_attenuation on rotate <-35,-15,0> spotlight radius 40 falloff 50 tightness 1 point_at <10,0,-18> } //Fill light light_source { <0,90,0> color rgb <.35,.55,.7> shadowless } camera { location angle 60 #if (FB=1) blur_samples 90 aperture 1 focal_point <10,5,-18> #end look_at <0, -9, 0> } sphere // daytime (was sky_sphere, changed for atmosphere container) { 0,111 hollow on pigment { gradient y color_map { [0 color rgb<0.8,0.9,1.0>] [1 color rgb<0.6,0.7,0.9>] } } finish {ambient 1} } // This isn't even working right. On your own. /* atmosphere { type 1 // ISOTROPIC_SCATTERING samples 15 // Number of samples in first distance interval distance 75 // Atmosphere density, similar to fog scattering .001 // Reflectivity of atmosphere, determines brightness aa_level 2 // Level of binary subdivision in case of aa aa_threshold 0.5 // Threshold for aa to push in jitter 0.25 // Amount of sample jittering color rgbt<1,1,1,.9> // Color with transparency of background } */ //The cause of light and shadow plane {y,30 hollow on pigment {wrinkles color_map { [0,.4 color rgbf<.8,.8,.8,.5> color rgbf<.8,.75,.8,.75>] [.4,.7 color rgbf<.9,.9,.75,.75> color rgbf<.99,.95,.9,1>] } scale 7.5} normal {wrinkles 1 scale 7.5 ramp_wave} finish {refraction 1 ior 1.2 caustics 1} // finish {ambient .25 diffuse .35 phong .01 phong_size 10 crand .125} translate <17.5,0,15> } //Ground plane {y,0 hollow off pigment {wrinkles color_map { [0,.3 color rgb<.225,.2125,.2> color rgb<.26,.25,.23>] [.3,.6 color rgb<.2,.35,.25> color rgb<.15,.45,.35>] } scale .5} normal {granite -1 scale .25 ramp_wave} finish {ambient .25 diffuse .35 phong .01 phong_size 10 crand .125} } //Textures #declare Greenery = texture { pigment {rgb<.1,.4,.25>} normal {gradient x 1.5 scallop_wave scale 2} finish {ambient <.15,.1,.2>*1.1 diffuse .55 phong .05 phong_size 5 reflection .03 metallic .3 brilliance 3} } #declare Greenery2 = texture { pigment {rgb<.25,.45,.225>*1.25} normal {gradient x 1.5 scallop_wave scale 2} finish {ambient <.15,.1,.2> diffuse .5 phong .05 phong_size 5 reflection .03 metallic .3 brilliance 3} } //Singular Four Leaf Clover #declare RSl=seed(5) #declare RSx=seed(1) #declare RSy=seed(2) #declare RSz=seed(3) #declare RSc=seed(4) #declare c=0 #while (c<4) union { #declare RRx=rand(RSx) #declare RRy=rand(RSy) #declare RRz=rand(RSz) #declare RRc=rand(RSc) #declare Stripes = texture { pigment {radial frequency 40*(1+(.25*RRy)) turbulence .15*(1+RRy) color_map { [0 color rgb<.6,.9,.7>*.75] [.1 color rgb<.4,.8,.6>*.75] [.2 color rgb<.16,.52,.32>] } sine_wave translate -1.5*z} normal {gradient x 1.5 scallop_wave scale 2} finish {ambient .2 diffuse .4 phong .01 phong_size 10} } disc {<0,0,0>,<0,1,0>,1 hollow on texture {onion texture_map { [0 Greenery] [.15 Stripes] [.65 Greenery] } } scale <.96,1,1.23> translate 1.295*z rotate <(-15*RRx),(-5*RRy),(-10*RRz)> rotate c*(90+(5*RRc))*y } cone {-5*y,.175,0*y,.125 pigment {rgbf<.45,.7,.4,.1>} finish {ambient .25 diffuse .5} } #declare c=c+1 rotate <-15,30,5> translate <10,5,-18> } #end //Three Leaf Clover Patch #declare Clover= union { #declare CC=0 #declare RSl=seed(5) #declare RSx=seed(1) #declare RSy=seed(2) #declare RSz=seed(3) #declare RSc=seed(4) #while (CC<200) union { #declare C=0 #declare RRl=rand(RSl) #while (C<3) union { #declare RRx=rand(RSx) #declare RRy=rand(RSy) #declare RRz=rand(RSz) #declare RRc=rand(RSc) #declare Stripes = texture { pigment {radial frequency 39+(6*RRy) turbulence .125+(.05*RRy) color_map { [0 color rgb<.6,.9,.7>*.75] [.1 color rgb<.4,.8,.6>*.75] [.2 color rgb<.14,.5,.33>] } sine_wave translate -1.5*z} normal {gradient x 1.5 scallop_wave scale 2 } finish {ambient .2 diffuse .4 phong .01 phong_size 10} } disc {<0,0,0>,<0,1,0>,1 hollow on texture {onion texture_map { [0 Greenery] [.15 Stripes] [.65 Greenery] } } scale <1,1,1.2> translate 1.275*z rotate <(-20*RRx),(-10*RRy),(-15*RRz)> rotate C*(120+(5*RRc))*y } cone {-5*y,.175,0*y,.125 pigment {rgbf<.45,.7,.4,.1>} finish {ambient .25 diffuse .5} } #declare C=C+1 } #end #declare RTx=rand(seed(CC)) #declare RTz=rand(seed(30-CC)) translate <(rand(RTx)*2)+(CC/6),5-((RTx*RTz)*3),(rand(RTz)*4)+(CC/4)> rotate (RRl*360)*y #declare CC=CC+1 } #end } union { #declare CCC=0 #while (CCC<6) object {Clover translate (CCC*8)*x rotate (CCC*60)*y} #declare CCC=CCC+1 #end } //Grass union { #declare CCG=0 #declare RSl=seed(0) #declare RSx=seed(4) #declare RSy=seed(3) #declare RSz=seed(2) #declare RSc=seed(1) #while (CCG<900) union { #declare CG=0 #declare RRl=rand(RSl) #while (CG<6) #declare RRx=rand(RSx) #declare RRy=rand(RSy) #declare RRz=rand(RSz) #declare RRc=rand(RSc) torus {1,.9 hollow on clipped_by { box {-1,1 hollow on rotate 45*y scale <1,.51,.125> translate .5*y}} texture {Greenery2} scale <2,3,2>*1 rotate 60*CG*y } #declare CG=CG+1 #end #declare RTx=rand(seed(CCG)) #declare RTz=rand(seed(30-CCG)) translate <(rand(RTx)*2)+(CCG/20),0-((RTx*RTz)*3),(rand(RTz)*4)+(CCG/15)> rotate (RRl*360)*y translate -25*z } #declare CCG=CCG+1 #end }