/********************************************************************************** Persistence of Vision Ray Tracer Scene Description File File name : .pov Version : 3.7 / 3.6.1c / MegaPOV 1.21 Description : Date : July 2011 Author : Thomas A. M. de Groot E-mail : thomdeg.01@gmail.com Copyright (C) 2011. All rights reserved. Use and/or modification of this scene is free, except for commercial purposes. Commercial distribution is not allowed without written permission from the author. **********************************************************************************/ // Render settings 3.7 (right-click on a line below): // +w640 +h640 +a0.3 +am2 +bm2 +wt6 // For saving/loading radiosity (adapt aspect ratio): // +w285 +h424 -a +am2 +bm2 Radiosity_File_Name="Samples.rad" +RFO // +w855 +h1272 +a0.1 +am2 +bm2 +wt6 Radiosity_File_Name="Samples.rad" +RFI //================================================================================= // VERSION //================================================================================= #version 3.7; global_settings { assumed_gamma 1.0 } //================================================================================= // DEFAULTS AND INCLUDES //================================================================================= #default {pigment {rgb <1,0,0>}} #default {finish {ambient 0}} //#default {image_map {gamma srgb}} #include "colors.inc" #include "rand.inc" #include "functions.inc" #include "transforms.inc" //================================================================================= // SCENE SWITCHES //================================================================================= #declare PoF = off; // on/off switch for the Position Finder #declare SeeScreen = off; // Gilles Tran's Viibility Test #declare Rad = on; // Radiosity switch #declare AspectRatio = image_width/image_height; #declare CamZoom = 1; #declare CamSky = <0, 1, 0>; #declare CamAng = 50; //39 #declare CamLoc = <0.0, 2.0, -4.0>; #declare CamLookAt = <0.0, 0.0, 0.0>; #declare Area = off; #declare Sun_alt = 50; #declare Sun_azm = -80; //================================================================================= // GLOBAL SETTINGS //================================================================================= global_settings { #if (version < 3.7) hf_gray_16 off max_intersections 64 #end max_trace_level 5 //default [5] #if (Rad) radiosity { pretrace_start 0.08 // start pretrace at this size pretrace_end 0.004 // end pretrace at this size count 35 // higher -> higher quality (1..1600) [35] nearest_count 10, 5 // higher -> higher quality (1..20) [5]; (new in 3.7) optional 2nd parameter sets adaptive radiosity pretrace error_bound 1 // higher -> smoother, less accurate [1.8] recursion_limit 1 // how much interreflections are calculated (1..5+) [3] low_error_factor .3 // reduce error_bound during last pretrace step gray_threshold 0.0 // increase for weakening colors (0..1) [0] minimum_reuse 0.015 // reuse of old radiosity samples [0.015] maximum_reuse 0.1 // new parameter 3.7 [0.2] brightness 1 // brightness of radiosity effects (0..1) [1] adc_bailout 0.01/2 normal off // take surface normals into account [off] media off // take media into account [off] always_sample off // turn sampling in final trace off [on] //max_sample 1.0 // maximum brightness of samples } #end //noise_generator 2 } //==================================================================================== // CAMERA AND LIGHT //==================================================================================== //#include "Gilles Tran\GT_VisibilityTest.mcr" camera { location CamLoc sky CamSky up CamSky direction z*CamZoom right x*AspectRatio angle CamAng look_at CamLookAt } #include "CIE.inc" #declare SunColor = Blackbody(6500)*2; #declare SunPosition = <0, 0, -2>*10e4; #declare SunDis = vlength(SunPosition)*2/215; //*1/215 #if (Area) #debug "\nUsing an area_light for the Sun.\n" light_source{ <0, 0, 0> color SunColor area_light SunDis*x, SunDis*z, // lights spread out across this distance (x * z) 4, 4 // total number of lights in grid (4x*4z = 16 lights) adaptive 1 // 0,1,2,3... area_illumination on // full area diffuse and specular jitter // adds random softening of light circular // make the shape of the light circular orient // orient light translate SunPosition rotate Sun_alt*x rotate Sun_azm*y parallel point_at <0, 0, 0> } #else light_source { <0, 0, 0> // light's position (translated below) color rgb SunColor // light's color translate SunPosition rotate Sun_alt*x rotate Sun_azm*y parallel point_at <0, 0, 0> } #end //==================================================================================== // SKY, ATMOSPHERIC HAZE, CLOUDS, FOG //==================================================================================== // a sky sphere sphere { <0, 0, 0>, 1 pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.7 rgb <0.0,0.1,0.8>] } } finish {emission 1 diffuse 0} scale 5*10e4 inverse } //==================================================================================== // LANDSCAPE ELEMENTS //==================================================================================== #declare Dens=difference { box {-1, 1 } box {-0.8, <0.8,1.01,0.8> } }; #local Glas = material { texture {pigment {rgbt <1,1,1,0.9>}} interior { ior 1.5 media {samples 100 scattering {1, srgb <0, 1, 1>*0.5} density { object { Dens density { rgb 0}, density { rgb 1 } } } } } }; #local Fac = 0.55/2; difference { union { //bottle: box {-1, 1 hollow } //fluid: box {-0.8, <0.8, 0.5+Fac/2, 0.8> hollow material { texture {pigment {rgbt 1.0}} interior { ior 1.3 media {samples 100 scattering {1, srgb <1,0,0>} density { rgb 1 } } } } } } superellipsoid { <0.0001,0.0001> interior { ior 1.0 } scale <0.8,Fac,0.8> translate (0.5+Fac)*y } cutaway_textures hollow material { Glas } rotate 35*y } //==================================================================================== plane { <0, 1, 0>, -1.0001 hollow texture { pigment {color srgb <0.35, 0.60, 0.00>} normal {bumps 0.25 scale 0.05} } }