// Persistence of Vision Ray Tracer Scene Description File // File: human_condition.pov // Vers: 3.5 // Desc: Rene Magritte's 'The Human Condition' // Date: 2005-02-25 // Auth: Rick Measham / Rene Magritte // A derivative work #version 3.6; #include "colors.inc" #include "metals.inc" #include "woods.inc" #include "shapes.inc" #include "glass_old.inc" global_settings { assumed_gamma 1.0 } // ---------------------------------------- #declare HeroCam = camera { location <5.0, 4.2, -16> direction 1.5*z right x*image_width/image_height look_at <6.4, 4.2, 0.0> //angle 30 } #declare TopCam = camera { location <-0.0, 16.2, 0> direction 1.5*z right x*image_width/image_height look_at < 10, 11.2, -7.5> //angle 120 } #declare SkyCam = camera { location <10.0, 60, -7.5> direction 1.5*z right x*image_width/image_height look_at < 10, 11.2, -7.5> //angle 120 } #declare SeaCam = camera { location <0.0, 6, 30> direction 1.5*z right x*image_width/image_height look_at < 4, 5.0, -2> //angle 120 } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.7 rgb <0.0,0.1,0.8>] } } } // An area light (creates soft shadows) // WARNING: This special light can significantly slow down rendering times! light_source { 0*x // light's position (translated below) color rgb 1.0 // light's color area_light <8, 0, 0> <0, 0, 8> // lights spread out across this distance (x * z) 4, 4 // total number of lights in grid (4x*4z = 16 lights) adaptive 0 // 0,1,2,3... jitter // adds random softening of light circular // make the shape of the light circular orient // orient light translate <0, 80, 0> // position of light rotate x*45 rotate y*(182) } light_source { 0*x // light's position (translated below) color rgb 0.7 // light's color area_light <1, 0, 0> <0, 0, 1> // lights spread out across this distance (x * z) 4, 4 // total number of lights in grid (4x*4z = 16 lights) adaptive 0 // 0,1,2,3... jitter // adds random softening of light circular // make the shape of the light circular orient // orient light translate <0, 10, 0> // position of light rotate x*45 rotate y*(182) translate <2,0,-4> } /* light_source { // Internal light <0, 0, 0> // light's position (translated below) color rgb <1, 1, 0.7> *0.7 // light's color translate <1, 10, -14> } */ // ---------------------------------------- #declare WallTexture = texture { pigment {granite turbulence 0.6 color_map {[0.000, 0.212 color rgbt <0.898, 0.898, 0.851, 0.000> color rgbt <0.969, 0.980, 0.875, 0.000>] [0.212, 0.424 color rgbt <0.969, 0.980, 0.875, 0.000> color rgbt <0.859, 0.859, 0.859, 0.000>] [0.424, 0.627 color rgbt <0.859, 0.859, 0.859, 0.000> color rgbt <0.992, 0.922, 0.659, 0.000>] [0.627, 0.881 color rgbt <0.992, 0.922, 0.659, 0.000> color rgbt <0.937, 0.965, 0.902, 0.000>] [0.881, 1.001 color rgbt <0.937, 0.965, 0.902, 0.000> color rgbt <0.898, 0.898, 0.851, 0.000>] } } //finish { ambient 0.4 } } // ---------------------------------------- // Water plane { y, 0.27 //pigment { Blue } texture { pigment { color red 0.4 green 0.4 blue 1.5 filter .1 transmit 0.4 } finish { reflection 0.45 ambient 0.15 diffuse 0.6 refraction 1 ior 1.33 } normal { bumps .5 } } } // Beach sphere { 0 40 scale y*0.005 translate <10, 0.1, -7.5> texture { pigment { bumps color_map { [0 rgb <255/255, 204/255, 0>] [1 rgb <255/255, 204/255, 0>/2] } } finish { reflection 0.0 ambient 0.15 diffuse 0.6 refraction 1 ior 1.33 } } } // Floor box { < 0.01, 0.00, -0.01> <19.99, 1.00, -14.99> texture { pigment { rgb <255/255, 45/255, 0/255> * 1.5 } //finish { ambient 0.4 } } } // Wall 1 - Hero Wall difference { box { < 0.00, 0.00, 0.00> <20.00, 12.00, -1.00> } cylinder { < 5.00, 7.00, -1.10> < 5.00, 7.00, 0.10> 2 } box { < 3.00, 7.00, -1.10> < 7.00, 0.00, 0.10> } texture { WallTexture } } // Wall 2 - Light Wall difference { box { < 0.00, 0.00, 0.00> < 1.00, 12.00, -15.00> } cylinder { < 1.10, 7.00, -10.00> <-0.10, 7.00, -10.00> 2 } box { < 1.10, 7.00, -12.00> <-0.10, 3.00, -8.00> } texture { WallTexture } } // Wall 3 - Back wall difference { box { < 0.00, 0.00, -15.00> <20.00, 12.00, -14.00> } cylinder { < 5.00, 7.00, -15.10> < 5.00, 7.00, -13.90> 2 } box { < 3.00, 7.00, -15.10> < 7.00, 3.00, -13.90> } cylinder { <15.00, 7.00, -15.10> <15.00, 7.00, -13.90> 2 } box { <13.00, 7.00, -15.10> <17.00, 3.00, -13.90> } texture { WallTexture } } // Wall 4 - Second Side Wall difference { box { <19.00, 0.00, 0.00> <20.00, 12.00, -15.00> } cylinder { <18.90, 7.00, -10.00> <20.10, 7.00, -10.00> 2 } box { <18.90, 7.00, -12.00> <20.10, 3.00, -8.00> } texture { WallTexture } } // Roof union { difference { box { < 0.00, 10.00, 0.00> <20.00, 11.00,-15.00> } cylinder { <10.00, 9.90, -7.50> <10.00, 11.10, -7.50> 2.9 } } texture { WallTexture } } // SkyLight union { difference { sphere { <10.00, 11.00, -7.50> 3 } sphere { <10.00, 11.00, -7.50> 2.9 } box { < 4.90, 0.00, -12.50> <15.10, 11.00, -2.50> } } texture {T_Glass3 } interior { I_Glass } } // Skylight -- Brass Seal union { difference { union { cylinder { <10.00, 11.30, -7.50> <10.00, 11.00, -7.50> 3.55 } cylinder { <10.00, 11.25, -7.50> <10.00, 11.00, -7.50> 3.6 } torus { 3.55 0.05 translate <10.00, 11.25, -7.50> } } cylinder { <10.00, 11.60, -7.50> <10.00, 10.80, -7.50> 3.0 } } // straps intersection { difference { sphere { <10.00, 11.00, -7.50> 3.05 } sphere { <10.00, 11.00, -7.50> 3.0 } box { < 4.90, 0.00, -12.50> <15.10, 11.00, -2.50> } } union { box { <10.00-0.2, 10.90, -2.00> <10.00+0.2, 17.00, -11.00> } box { < 4.00, 10.90, -7.50-0.2> <16.00, 17.00, -7.50+0.2> } } translate y*0.15 } // studs #declare StudAngle = 0; #while (StudAngle < 360) sphere { <3.25,0,0> 0.08 scale y*0.5 rotate y*StudAngle translate <10.00, 11.308, -7.50> } #declare StudAngle = StudAngle + 6; #end translate y*-0.15 //pigment { Red } texture { T_Gold_1D finish {reflection 0.01} } } // Black sphere sphere { <4.30,1+2.5/6,-2> 2.5/6 texture { pigment { Grey/70 } finish { reflection 0.01 phong 1.0 roughness 2 } } } // Easle #declare Wood = T_Wood35 union { //feet box { <-1.3, 0.0, -0.70> <-1.0, 0.3, 0.70> texture { Wood } } box { < 1.3, 0.0, -0.70> < 1.0, 0.3, 0.70> texture { Wood } } box { <-1.3, 0.105, -0.3> < 1.3, 0.195, 0.3> texture { Wood rotate y*90 } } difference { box { <-0.15, 0.15, -0.05> < 0.15, 6.00, 0.05> texture { Wood rotate x*90 } } #declare HoleY = 0.75; #while (HoleY < 3.3) cylinder { <0, HoleY, -0.10> <0, HoleY, 0.10> 0.04 } #declare HoleY = HoleY + 0.3; #end } box { <-1.25, 0.15, -0.15> <-1.05, 5.00, 0.15> texture { Wood rotate x*90 } } box { < 1.25, 0.15, -0.15> < 1.05, 5.00, 0.15> texture { Wood rotate x*90 } } box { // tray <-1.25, 2.00,-0.15> < 1.25, 2.20,-1.00> texture { Wood rotate y*90 } } box { // top <-1.00, 4.70,-0.05> < 1.00, 4.90,-0.40> texture { Wood rotate y*90 } } //Canvas box { // Stretchers <-1.70, 2.205,-0.15> < 1.70, 2.370,-0.25> texture { Wood rotate y*90 } } box { // Stretchers <-1.70, 4.530,-0.15> < 1.70, 4.695,-0.25> texture { Wood rotate y*90 } } box { <-1.700, 2.370,-0.15> <-1.535, 4.530,-0.25> texture { Wood rotate x*90 } } box { < 1.700, 2.370,-0.15> < 1.535, 4.530,-0.25> texture { Wood rotate x*90 } } difference { Round_Box ( <-1.710, 2.20, -0.15>, < 1.710, 4.70, -0.30>, 0.01, 1 ) box { <-1.7,2.21, 0.00> < 1.7,4.69, 0.29> } pigment { White } } translate <7.50, 1.10, -3.00> } camera { HeroCam }