// Persistence of Vision Ray Tracer Scene Description File // Scene filename: Rflcaust08.pov // POV-Ray version: unofficial v3.1a.msvc.win32 UVPov (Nathan@Kopp.com) // Description: Test scene demonstrating photon mapping. Requires UVPov. // For changes in this scene, see footnotes at bottom of page. // Date created: 15-Mar-1999 // Author: Alan Kong e-mail: alkong@compuserve.com // Initial placement of first sphere, reflective box (mirror), and floor // were done using Moray v3.1 (registered) /*** Render Control ***/ #declare Photon_mapping_on = 1; #declare Hi_quality_photon_mapping = 1; #declare Show_glass_sphere = 1; #declare Show_chrome_sphere1 = 1; #declare Show_chrome_sphere2 = 1; #declare Show_mirror = 1; #declare Show_floor = 1; #declare Add_checkered_floor = 1; #declare Add_fill_light = 1; #if (Hi_quality_photon_mapping) #declare phd = 0.8; #else #declare phd = 10; #end // (Hi_quality_photon_mapping) global_settings { adc_bailout 0.003922 ambient_light <1.0,1.0,1.0> assumed_gamma 2.0 hf_gray_16 off irid_wavelength <0.247059,0.176471,0.137255> max_intersections 64 max_trace_level 12 number_of_waves 10 #if (Photon_mapping_on) photons { #if (Hi_quality_photon_mapping) gather 20, 100 #else gather 10, 50 #end // (Hi_quality_photon_mapping) // radius 0.1*phd, 4, 0.1*phd radius 0.1*phd, 4, 0.1*phd jitter 0.4 autostop 0 } #end // (Photon_mapping_on) } background { color <0.100,0.100,0.100> } camera { // Camera StdCam location < -12.000, -30.000, 15.000> direction < 0.0, 0.0, 1.8317> // Aperture is 0.53 degrees sky < 0.00000, 0.00000, 1.00000> // Use right handed-system up < 0.0, 0.0, 1.0> // Where Z is up right < 1.33333, 0.0, 0.0> // Aspect ratio look_at < 0.000, 0.000, 5.000> } light_source { <0.000, -10.000, 15.000> color rgb <1.000, 1.000, 1.000> fade_distance 20 fade_power 1 spotlight point_at <0.000, -8, 14.000> falloff 15.000 // outer radius (in deg) radius 7.500 // inner radius tightness 0.000 } #if (Add_fill_light) light_source { 0*x color rgb 0.3 photons { reflection off refraction off } shadowless // don't need no steenkin' shadows translate <0, 0, 20> } #end // (Add_fill_light) #if (Show_mirror) difference { box {<-1, -1, -1>, <1, 1, 1> pigment { rgb 1.0 } finish { ambient 0 reflection 0.8 } photons { density 0.01*phd reflection on refraction off } scale <5.0, 0.5, 5.0> translate <0.0, 5.5, 5.0> } box {<-1, -1, -1>,<1, 1, 1> pigment {rgb 1} scale <5.0, 0.5, 10.0> translate <0.0, 6, 10> } } #end // (Show_mirror) #if (Show_glass_sphere) sphere { // Sphere001 <0,0,0>,1 pigment { rgbf <0.9, 0.3, 0.7, 0.9> } interior {ior 1.5} finish {ambient 0 diffuse 0 reflection 0.3 specular 0.5 roughness 0.005} photons { density 0.01*phd reflection off refraction on } scale 2.0 translate <0, -1, 3> } #end // (Show_glass_sphere) #if (Show_chrome_sphere1) sphere { // Sphere001 <0,0,0>,1 pigment { rgb 0.5 } finish {ambient 0 diffuse 0 reflection 1.0 specular 0.8 roughness 0.0025} photons { density 0.01*phd reflection on refraction off } scale 2.0 translate <-7, -4, 3> } #end // (Show_chrome_sphere1) #if (Show_chrome_sphere2) sphere { // Sphere001 <0,0,0>,1 pigment { rgb 0.5 } finish {ambient 0 diffuse 0 reflection 1.0 specular 0.8 roughness 0.0025} photons { density 0.01*phd reflection on refraction off } scale 2.0 translate <9.5, 0, 3> } #end // (Show_chrome_sphere2) #if (Show_floor) box {<-1, -1, -1>, <1, 1, 1> #if (Add_checkered_floor) pigment { checker color rgb 1.2, color rgb <0.2, 0.2, 0.7> scale 0.1 } finish {ambient 0 diffuse 1} scale <50.0, 50.0, 1.0> #else pigment { rgb 1.0 } finish {ambient 0.25 diffuse 0.6} #end // (Add_checkered_floor) photons { reflection off refraction off } } #end // (Show_floor) // Rflcaust08.pov - translate glass sphere 1 unit back and 1 unit lower. // Rflcaust07.pov - increase jitter from 0.2 to 0.4, increase photon density. // Rflcaust06.pov - reduce max_trace_level from 15 to 12 // Rflcaust05.pov - reflection added to glass sphere.