#local cloud_density_pattern = density{ // I know wrinkles is intended to be a normal pattern, but I use it quite a bit for pigment. wrinkles turbulence .4 // should have some! color_map{ [0.00 color rgb <1,1,1> * 0 ] // use color rgb <1,1,1> * (small value) to get "fingers of God" effect [0.50 color rgb <1,1,1> * 0 ] // this is the air between the clouds [0.60 color rgb <1,1,1> * 1 ] // I usually use about .1 to .2 separation for blending between empty air and full cloud [1.00 color rgb <1,1,1> * 1 ] // vary the size of denser portion to change spacing between clouds } scale <1,1,1> * .9 // scale very little here, most scaling is done in media block } // values are using the assumption 1 pov unit = 1 foot = 30.48 centimeters #local max_x = 100000; // maximum distance clouds extend in the +x direction #local min_x = 100000; // maximum distance clouds extend in the -x direction #local max_y = 10000; // maximum distance clouds extend in the +y direction #local min_y = 3000; // maximum distance clouds extend in the -y direction #local max_z = 100000; // maximum distance clouds extend in the +z direction #local min_z = -10000; // maximum distance clouds extend in the -z direction #local cloud_samples = 35; // 35 is enough for testing, >75 for final #local cloud_varience = 1/100; // around 1/10000 for final box { , texture{ clear } // predeclared texture with transmit 1 interior{ media{ samples cloud_samples,cloud_samples confidence (1 - cloud_varience) variance cloud_varience // IMPORTANT: balance absorption and emission without scattering FIRST! // emitting and absorbing medias determine the "thickness," whereas scattering determines contrast for cloud shading // setting emission to half of absorption generally gets you 50% gray clouds. absorption rgb <1,1,1> / 1000 emission rgb <1,1,1> / 2000 // comment out scattering block during testing, clouds appear as unshaded but render much faster scattering{ 1 rgb <1,1,1> / 1500 } density{ gradient y scale <1,1,1> * max_y density_map{ [0.00 color rgb <1,1,1> * 0 ] // use color rgb <1,1,1> * (small value) to get "fingers of God" effect [0.50 cloud_density_pattern ] // pre-declared pigment-based pattern [1.00 color rgb <1,1,1> * 0 ] // } } method 3 aa_threshold .1 // I use 0.075 for finals aa_level 1 // I use about 3-6 for finals }// close media block } hollow // we built box from zero so y gradient would behave correctly, must translate translate <0,min_y,0> } light_source { <0,0,0> color rgb <1,1,1> translate <100,1000,1000> * 100 // should be very distant, as large values are used for the cloud objects