// Persistence of Vision Ray Tracer Scene Description File // File: toros025.pov // Vers: 3.6.1 // Desc: 3 RGB linked rings // Date: May 2005 // Auth: B Gimeno // http://usuarios.lycos.es/game2413 // e-mail: aplenosol@ya.com // Note: the fire texture was posted by loki on povray.binaries.images (May-6-2005) // the water texture was improved following the advices of Alain from povray.binaries.images // and the realistic water tutorial from the site of Christoph Hormann // 17924811 tokens - Parsing time: 4 min on a k6 with 128 RAM #include "colors.inc" global_settings { assumed_gamma 1.0 } camera { location <15,60,-80> look_at <0,0,0> direction z*1} //----------------------the macros--------------------------------// //--------------------- Fire -------------------------------// #macro toro_rings_025_Red(major_r,minor_r,num_segm,rand_seed) #local rnd1=seed(rand_seed); #local T=minor_r*.25; union { #local num_segm_r = num_segm; #while (num_segm_r>0) union { sphere {<0,0,0>,minor_r texture { pigment { rgbt 1 } } interior { media { emission exp(-T/2) density { spherical poly_wave 5 color_map { [0 rgbt <0,0,0,1>] [0.1 rgb <0.2,0,0>] [0.27 rgb <1,0.65,0.5>] [1 rgb <2,2,0.5>] } scale 2 warp { turbulence T } scale 2 warp { turbulence T } scale 2 warp { turbulence T } scale 2 warp { turbulence T } } scale 0.3*exp(pow(T,0.5))/(1+T) } } hollow rotate 360*rand(rnd1) translate z*major_r rotate y*num_segm_r*(360/num_segm) } light_source { 0, color rgb 1.0 fade_distance major_r*.75 fade_power 2 media_attenuation on media_interaction on } } #local num_segm_r = num_segm_r-1; #end rotate z*45 translate z*(major_r-minor_r-(minor_r*.2)) rotate x*-45 } #end //--------------------- Grass -------------------------------// #macro toro_rings_025_Green(major_r,minor_r,num_segm,random_seed) #local text_grass = texture { pigment { agate pigment_map { [0.0 Green*.75] [0.25 Green*.5] [.4 Green*.6] [0.85 Green*.25] } } scale minor_r*2 } #local num_segm_r = num_segm ; #while (num_segm_r>0) #local R1 = seed (num_segm_r*random_seed); union { sphere { 0,minor_r*.25 texture {text_grass rotate 360*rand(R1)} } #local num_blades = 2000 ; #while (num_blades>0) smooth_triangle { ,rand(R1)*2 ,rand(R1)*2 ,rand(R1)*2 translate x*minor_r*.2*rand(R1) rotate <45+(15*sin(radians(360*rand(R1)))), 360*rand(R1), 360*rand(R1) > rotate y*90 translate y*minor_r*.2*rand(R1) texture { pigment {rgb < 78+(15*sin(radians(360*rand(R1)))), 131+(25*sin(radians(360*rand(R1)))), 54+(15*sin(radians(360*rand(R1))))>/255 } } } #local num_blades=num_blades-1; #end #local num_flowers = int(10*rand(R1)) ; #while (num_flowers>0) sphere {0,minor_r*.085 scale <1,.65,1> translate y*minor_r*1.25 rotate <35+(16*sin(radians(360*rand(R1)))), 360*rand(R1), 360*rand(R1) > rotate y*90 texture { pigment {rgb <.5+(0.2*sin(radians(360*rand(R1)))), .5+(0.2*sin(radians(360*rand(R1)))), .5+(0.2*sin(radians(360*rand(R1))))> } } } #local num_flowers=num_flowers-1; #end translate z*major_r rotate y*num_segm_r*(360/num_segm) rotate z*45 translate z*(major_r-minor_r-(minor_r*.2)) rotate y*120 rotate x*-45 } #local num_segm_r = num_segm_r-1; #end #end //--------------------- Water -------------------------------// #macro toro_rings_025_Blue(major_r,minor_r,num_blobs,random_seed) blob { threshold 1 #local num_blobs_r = num_blobs; #while (num_blobs_r>0) #local R1 = seed (num_blobs_r*random_seed); sphere { <0,0,0>,(minor_r*.2)+minor_r*rand(R1),minor_r*rand(R1)*.5 translate z*minor_r*.5 rotate x*(360*rand(R1)) translate z*major_r rotate y*(360*rand(R1)) rotate z*45 translate z*(major_r-minor_r-(minor_r*.2)) rotate y*240 rotate x*-45 } #local num_blobs_r = num_blobs_r-1; #end texture { pigment {rgbf <.8,.85,.95,.75>} finish { ambient 0.2 diffuse 0.3 reflection {.02,.8 fresnel on } specular 0.4 roughness 0.003 conserve_energy } normal {wrinkles .75} } interior {ior 1.33333 dispersion 1.05 fade_colour 1.5 fade_distance minor_r*.5 fade_power 200 } } #end //---------------------the objects-------------------------------// toro_rings_025_Red (25,4,40,54224) toro_rings_025_Green (25,4,35,16897) toro_rings_025_Blue (25,4,250,1689)