Utilisation : Les liens ne sont pas apparents. Pour obtenir des informations sur un mot clé, cliquez-le dans le script !
// Persistence of Vision Raytracer Version 3.5 Scene Description File // File: mediasky.pov // Author: Chris Huff // Description: This file demonstrates the use of scattering media // to create a sky with clouds. It attempts to simulate an actual // atmosphere: there is an outer shell of media that scatters blue // light, and an inner cloud shell that scatters white. The scattered // light from the outer shell makes the sky appear blue, and the light // that passes through is tinted orange by its passage, giving the // clouds an orange color. //******************************************* #include "colors.inc" #version 3.5; global_settings { assumed_gamma 1 max_trace_level 5 } #declare CamPos = <-5, 1,-25>; camera { location CamPos up y right x*16/9 //use 16:9 aspect ratio look_at <0, 7.5, 0> angle 90 } light_source {CamPos, color Gray30 media_interaction off} //light_source {vrotate(z, <-1, 8, 0>)*500000, color rgb <1, 0.8, 0.65>} #declare SunPos = vrotate(z, <-12, 8, 0>)*1000000; light_source {SunPos, color White*2} sphere {SunPos, 75000 texture { pigment {color White} finish {ambient 10 diffuse 0} } no_shadow } #declare PlanetSize = 50000; //the ocean sphere {<0, 0, 0>, 1 scale PlanetSize translate -y*PlanetSize hollow texture { // pigment {color rgb <1, 1, 1>} pigment {color rgbf <1, 1, 1, 1>} finish { ambient 0 diffuse 0.7 reflection {0.5, 1 fresnel //use the fresnel form of angle-dependant reflection metallic //use metallic reflection } conserve_energy metallic //use metallic highlights } normal {bumps bump_size 0.075 scale <4, 1, 1>*0.025} } interior { ior 1.33 //required for fresnel reflection media { method 3 samples 2 intervals 1 absorption color rgb <0.75, 0.5, 0.25>*0.005 } } } //the ocean floor sphere {<0, 0, 0>, 1 scale PlanetSize - 100 translate -y*PlanetSize texture { pigment {color rgb 1} } } #macro SkyShell(minAlt, maxAlt, Int) difference { sphere {<0, 0, 0>, 1 scale (PlanetSize + maxAlt)} sphere {<0, 0, 0>, 1 scale (PlanetSize + minAlt)} hollow texture {pigment {color rgbf 1}} translate -y*PlanetSize interior {Int} } #end //A much more realistic sky could be done using multiple layers //of clouds to simulate clouds of different densities and with //different altitudes. Of course, this would render a lot slower... //the "cloud shell", creates clouds. SkyShell(1000, 1300, interior { media { method 3 aa_threshold 0.1 aa_level 3 samples 4 intervals 1 scattering {2, color White*0.0075 extinction 1} density {wrinkles scale <5, 2, 2>*200 warp {turbulence 2} color_map { [0 color rgb 1] [0.5 color rgb 0.85] [0.55 color rgb 0.035] [1 color rgb 0.035] } } } /* media { method 3 samples 2 intervals 1 scattering {2, color White*0.0075*0.015 extinction 1} }*/ } ) //the "atmosphere shell", creates the blue sky and orange light. SkyShell(1001, 2200, interior { media { method 3 samples 2 intervals 1 scattering {4, color rgb <0.25, 0.6, 0.9>*0.00075 extinction 1} } } )
Et voici ce que nous obtenons :
