global_settings { max_trace_level 30 } camera { location <0.0, 1.0, -50.0> sky <0.0, 1.0, 0.0> look_at <0.0, 1.0, 0.0> } light_source { <0.0, 2000.0, 0.0> color rgb 1.0 media_interaction on media_attenuation on rotate <0.0, 0.0, 30.0> } #local defaultPosition = <0.0, 0.0, 0.0>; #local defaultScaling = <10, 5, 10>; #local defaultTurbulence = 0.5; #local defaultFuzziness = 0.7; #local defaultDensity = 0.01; #local defaultQuality = 10; /* pos: position scal: scaling turb0: turbulence of spherical density (0.5 good start) turb1: turbulence of boxed density fuzz: omega of spherical density (0.5 and more) dens: media scattering density hei: height. position of the boxed density in the box (allows "flat bottom" clouds) (between 0 and 1) qual: media intervals (quality) (> 10 looks good) ran: random value to generate various clouds with the same parameters (just rotates spherical density) */ #macro AddCloud(pos, scal, turb0, turb1, fuzz, dens, hei, qual, ran) box { <-1.0, -1.0, -1.0>, <1.0, 1.0, 1.0> pigment {rgbf 1.0} hollow interior { media { scattering {1, dens} // I used this to make the clouds brighter. needs new tries //emission 0.0015 intervals qual samples 1, 1 density { spherical color_map { [0.0 color rgb 0.0] [0.1 color rgb 0.0] [0.2 color rgb 0.9] [1.0 color rgb 0.9] } turbulence turb0 omega fuzz rotate scale <0.9, 1.0, 0.9> } density { boxed color_map { [0.0 color rgb 0.0] [0.2 color rgb 0.0] [0.4 color rgb 0.6] [0.9 color rgb 0.9] [1.0 color rgb 0.9] } turbulence turb1 scale <0.9, 1.2, 0.9> translate <0.0, hei, 0.0> } } } scale scal translate pos } #end // clouds #local Seed = seed(1792); #local ii = 0; #while (ii < 15) #local posX = 1200 - (rand(Seed) * 2400); #local posY = rand(Seed) * 50; #local posZ = 500 + (rand(Seed) * 2000); #local szX = 50 + (300 * rand(Seed)); #local szY = szX * (0.1 + (0.6 * rand(Seed))); #local szZ = 50 + (300 * rand(Seed)); #local turb0 = 0.5 + (0.4 * rand(Seed)); #local turb1 = 0.5 + (0.4 * rand(Seed)); #local fu = 0.4 + (0.4 * rand(Seed)); #local de = 0.01 + (0.01 * rand(Seed)); #local he = rand(Seed); #local ra = rand(Seed); AddCloud(, , turb0, turb1, fu, de, he, 10, ra) #local ii = ii + 1; #end // a plane trail. just a try ! // will do it with media when time... #declare Trail = triangle { <0.0, 0.0, -5.0>, <0.0, 0.0, 5.0>, <500.0, 0.0, 0.0> pigment { gradient x color_map { [0.0 color rgbt <1.0, 1.0, 1.0, 0.5>] [1.0 color rgbt 1.0] } scale <500.0, 1.0, 1.0> } finish { ambient 1.0 } } plane { <0.0, 1.0, 0.0>, 0.0 // poor water texture pigment { wrinkles color_map { [0.0 color rgb 1.0] [0.1 color rgb <0.3, 0.3, 0.375>] [1.0 color rgb <0.3, 0.3, 0.375>] } turbulence 0.4 } finish { // need to ajust atmosphere to remove this ! ambient 0.6 } normal { bumps 0.5 scale 0.75 } } sky_sphere { pigment { color rgb <0.6, 0.6, 1.0> } } //object {Trail rotate <90.0, 0.0, 0.0> translate <100.0, 400.0, 1000.0>} // atmosphere // needs a lot of work sphere { <0.0, 0.0, 0.0>, 1.0 pigment { color rgbt 1.0 } interior { media { scattering {1, 0.001} intervals 30 samples 1, 1 density { spherical color_map { [0.0 color rgb <0.0, 0.0, 0.0>] [0.25 color rgb <0.0, 0.0, 0.0>] [0.3 color rgb <2.0, 2.0, 2.0>] [1.0 color rgb <2.0, 2.0, 2.0>] } } } } hollow scale 3000.0 translate <0.0, -2000.0, 0.0> }