// Persistence Of Vision raytracer version 3.0 sample file. // File by Tom Price, modified by Dan Farmer // modified by Tiina Komi, April 1999 #version 3.0 global_settings { assumed_gamma 2.2 } #include "shapes.inc" #include "colors.inc" #include "textures.inc" #include "woods.inc" #include "glass.inc" #include "metals.inc" #declare This_Brass = texture { T_Brass_4B } background { LightBlue } #declare Back_Wall = plane { z, 200.0 finish { crand .05 // 0.05 ambient .35 // 0.3 diffuse .30 // 0.7 } pigment { rgb<1, 1, 1>} // LightBlue } } #declare Ceiling = plane { y, 500.0 finish { ambient 0.35 // .30 diffuse 0.56 // .70 } pigment { White } inverse } #declare Desk_Top = box { <-125, -2, -100> <125, 2, 100> translate -20.0*y // top surface at -18*y texture { T_Wood16 //pigment { White_Wood } finish {ambient 0.25 diffuse .43 reflection 0.12 } // finish { reflection 0.2 } // rotate y*90 // translate z*30 rotate 0*x // z*5 scale<8,8,15>*4 //scale 5 } } #declare Blotter = union { triangle { <0.0, 0.0, 0.0> <8.5, 0.0, 0.0> <0.0, 0.0, -11.0> } triangle { <0.0, 0.0, -11.0> <8.5, 0.0, -11.0> <8.5, 0.0, 0.0> } scale <4.0, 1.0, 4.0> rotate -30.0*y translate <-20.0, -17.9999, -40.0> finish { crand 0.04 ambient 0.15 diffuse 0.5 } pigment { colour < 1, 1, 1 > } } /*The Picture itself*/ #declare Picture = union { box { -1, 1 pigment { image_map { gif "f:\3d\win.gif" interpolate 2.0 }// once interpolate 2.0 } translate <-0.5,-0.5,-0.5> scale <2.0 , 1.5, 1>} // scale <40.0, 30.0, 1.0> scale <1.5, 1.5, 1.0> } translate <1.0, 1.0, 1.0> scale <20.0, 15.0, 1.0> finish { ambient 0.05 diffuse 0.9 } } // pigment { yellow } /* The picture frame */ union { cylinder {-y,31*y,1 translate 41*x } cylinder {-y,31*y,1 translate -1*x } cylinder {-x,41*x,1 translate 31*y } cylinder {-x,41*x,1 translate -1*y } sphere { <-1.0, -1.0, 0.0>, 1.0 } sphere { <-1.0, 31.0, 0.0>, 1.0 } sphere { <41.0, -1.0, 0.0>, 1.0 } sphere { <41.0, 31.0, 0.0>, 1.0 } texture { This_Brass } } scale 1.5 rotate <10.0, -35.0, 0.0> translate <-65.0, -15.0, -25.0> } #declare Lamp = union { object { cylinder { -y*18, y*40, 3 } texture { This_Brass } } cylinder { -y*2, y*2, 25 // intersection { // object { Cylinder_Y scale <25.0, 1.0, 25.0> } // plane { y, 2.0 } // plane { y, -2.0 inverse } translate <0.0, -16.0, -5.0> texture { This_Brass normal { bumps 0.1 } } } intersection { object { Cylinder_X scale <1.0, 10.0, 10.0> } object { Cylinder_X scale <1.0, 9.95, 9.95> inverse } plane { y, 0.0 inverse } plane { x, -30.0 inverse } plane { x, 30.0 } translate <0.0, 35.0, -13.0> finish { Shiny crand 0.05 ambient 0.5 diffuse 0.5 reflection 0.3 brilliance 4.0 } pigment { color rgbft <1.0, 0, 0, 0.2, 0.4> } } union { intersection { sphere { <-30.0, 35.0, -13.0>, 10.0 } sphere { <-30.0, 35.0, -13.0>, 9.95 inverse } plane { y, 35.0 inverse } plane { x, -30.0 } } intersection { plane { y, 35.0 inverse } plane { x, 30.0 inverse } sphere { <30.0, 35.0, -13.0>, 10.0 } sphere { <30.0, 35.0, -13.0>, 9.95 inverse } } texture { This_Brass } } rotate 35*y translate <50.0, 0.0, 30.0> } /*The fluorescent tube inside the lamp*/ #declare Lamp_Light_Source = light_source { <0, 0, 0> color White looks_like { cylinder { -x*25, x*25, 2 pigment { White filter 0 } finish { ambient 1 diffuse 0 } } } translate <0.0, 43.0, -10.0> rotate 35*y translate <50.0, 0.0, 30.0> } // Pen by Francisco Munoz #declare My_Black_Texture = texture { // A very simple texture pigment {color rgb <0,0,0>} finish { phong 0.8 } } #declare Pen = union { cylinder {<0,0,0>,<0,1.4,0>,.35 texture {Gold_Texture}} cylinder {<0,1.3,0>,<0,7.6,0>,.4 texture {My_Black_Texture}} cylinder {<0,7.59,0>,<0,7.54,0>,.401 texture {Gold_Texture}} cone {<0,7.55,0>,.35,<0,9.9,0>,.3 texture {Gold_Texture}} cone {<0,9.89,0>,.25,<0,9.91,0>,.23 texture {My_Black_Texture}} cone {<0,9.89,0>,.24,<0,10.2,0>,.25 texture {My_Black_Texture}} cone {<0,10.2,0>,.25,<0,10.3,0>,.23 texture {My_Black_Texture}} cylinder {<0,10.3,0>,<0,10.35,0>,.18 texture {My_Black_Texture}} difference {cylinder {<0,10.35,0>,<0,11.05,0>,.22 } cylinder {<0,0,-1>,<0,0,1>,.22 scale <1.6,.75/.22,1> translate <0.18,11.16,0> } plane {<0,.23,.9>,0 inverse translate <0,10.3,.21> } plane {<0,.23,.9>,0 inverse translate <0,10.3,.21> rotate y*180 } texture {My_Black_Texture} } difference { cylinder {<0,10.3,0>,<0,11.2,0>,.23 } cylinder {<0,10.3,0>,<0,11.3,0>,.2275 } plane {<0,.23,.9>,0 inverse translate <0,10.3,.23> } plane {<0,.23,.9>,0 inverse translate <0,10.3,.23> rotate y*180 } plane {-x ,0 } box {<-.24,10.25,-.0015>,<-.22,11.3,.0015> pigment {NavyBlue}} texture {Gold_Texture} } difference { sphere {<-.23,11.20,0>.02 } box {<-.25,11.0,-.0015>,<-.20,11.4,.0015> pigment {NavyBlue}} texture {Gold_Texture} } } #declare PenCap= union { difference { union { cylinder {<0,0,0>,<0,5,0>,.4} cylinder {<0,-0.001,0>,<0,0.05,0>,.401 texture {Gold_Texture}} } cylinder {<0,-.1,0>,<0,5.3,0>,.35} texture {My_Black_Texture} } cone {<0,5,0>,.4, <0,5.1,0>,.3 texture {My_Black_Texture}} box {<-.3,4.7,-.25>,<-.5,4.75,.25> texture {Gold_Texture}} intersection { box {<-1,4.55,-.25>,<-.5,4.75,.25>} difference { cylinder {<-.5,4.55,-.25>,<-.5,4.55,.25>,.2} cylinder {<-.5,4.55,-.26>,<-.5,4.55,.26>,.15} } texture {Gold_Texture} } box {<-.7,4.55,-.25>,<-.65,0.6,.25> texture {Gold_Texture}} sphere {<0,0,0>,.26 scale <.8,1,1> translate <-.675,0.6,0> texture {Gold_Texture}} } // uncomment the section below to render a view of the pen & pencap object {Pen rotate z*90 scale < 2.5,2.5,2.5 > translate <18, -17.99, -43 > } object {PenCap rotate < 0, -45, 90 > scale < 2.5,2.5,2.5 > translate <-3, -17.99, -65> } //object {Pen rotate -y*150 translate <-5,0,0>} //object {PenCap rotate -y*150 translate <-5,7.6,0>} light_source { < 40, 60, -45> // <-40, 40, -25> color White spotlight radius 80 // 18 falloff 10 // 40 tightness 24 // 10 point_at <-45, 10,-5 > } /* #declare Vaasi = object { #include "skyvase.inc" rotate < 0, 0, 0 > scale < 0.71, 0.71, 0.71 > translate < 65, -8.98, -30 > } */ camera { location <0.0, 40.0, -150.0> up <0.0, 1.0, 0.0> right <4/3, 0.0, 0.0> look_at <0.0, 0.0, 0.0> } // light_source { <20.0, 100.0, -200.0> colour White } object { Back_Wall } object { Ceiling } object { Desk_Top } object { Blotter } object { Lamp } object { Lamp_Light_Source } object { Picture } //object { Vaasi }