// +w600 +h800 #include "colors.inc" global_settings { assumed_gamma 1 max_trace_level 5 montecarlo { mc_rand_seed mc_max_diffuse_bounce 3 mc_pixel_refresh_ratio 0.5 mc_russian_roulette_prob 0.5 mc_russian_roulette_threshold 0.25 mc_colour_clip 1.0 } } default { finish { diffuse 1 ambient 0 montecarlo { mc_diffuse { 1 16 1 } mc_use_cosine_distrib } } } /* camera { up 1*y right 350/700*x location <-32, -5, -40> look_at <0, -5, 0> angle 50 } */ camera { up 300 right 400*x//right 700/1400*x //location <-32, -5, -40> look_at <0, -5, 0> angle 50 location 1*<-32, 0, -40> look_at <0, 0, 0> angle 60 } //sky cylinder {<0, 60, 0>, <0, 65, 0>, 100 pigment {color rgb <.9,.9, 1>} finish {ambient 175} } #declare Tile_floor1 = pigment { gradient z color_map { [0 .5 color DarkWood color DarkWood] [.5 1 color LightWood color LightWood] } } #declare Tile_floor2 = pigment { gradient x color_map { [0 .5 color DarkWood color DarkWood] [.5 1 color LightWood color LightWood] } } #declare black_and_brown = texture { pigment { gradient y color_map { [0 .5 color rgb <.65, .54, .48> color rgb <.65, .54, .48>] [.5 1 color Black color Black] } } finish {diffuse .8} } #declare nice_wood = pigment { gradient x turbulence .02 color_map { [0 .3 color rgb <.8, .5, .3> color rgb <.8, .5, .3>] [.5 .8 color rgb <1, .7, .5> color rgb <1, .7, .5>] } scale .05 } #declare roof_texture = texture { pigment { gradient z pigment_map { [0 nice_wood] [.47 nice_wood] [.5 color DarkWood] [.53 nice_wood] [1 nice_wood] } scale 4 } finish {diffuse .8 ambient 0} } #declare roof = union { difference { box {<-80, 29.5, -80>, <80, 80, 80> texture {roof_texture} } box {<-15, 31, 0>, <15, 45, 30> pigment {color White} finish {ambient 0 diffuse .7} } //widened hole in skylight cylinder {<10, 45, 0>, <30, 45, 0>, 15 pigment {color White} finish {ambient 0 diffuse .8} } } difference { cylinder {<0, 29, 0>, <0, 60, 0>, 17.5 pigment {color White} finish {diffuse .9 ambient 0} } cylinder {<5, 45, 0>, <20, 45, 0>, 8 pigment {color White} finish {ambient 0 diffuse 0} //hole in skylight } } difference { union { //supports in hole in skylight box {<10, 37, -1>, <18, 53, 1>} box {<10, 44, -10>, <18, 46, 10>} } cylinder {<0, 29, 0>, <0, 60, 0>, 18 inverse} pigment {color White} finish {ambient 0 diffuse .8} } } difference { object {roof} cylinder {<0, 25, 0>, <0, 61, 0>, 14 pigment {color White} finish {diffuse .8 ambient 0} } box {<-10, 31, 0>, <10, 40, 40> pigment {color White} finish {diffuse .8 ambient 0} } } //light in hole //light_source {<25, 40, 0> color 0.3*White fade_distance 5 fade_power 3} //a light //light_source {<0, 35, 40> color 0.3*White fade_distance 5 fade_power 3} //stairs union { box {<-10, 20, 1>, <10, 28, 18>} box {<-10, 2, 1>, <10, 10, 18>} #declare change = 0; #while (change < 11) box {<-10, 19-change, 8+change>, <10, 20-change, 18>} light_source {<-7.5, 18.9-change, 8.5+change> color <.22, .22, .2> fade_distance 1 fade_power 3} light_source {<7.5, 18.9-change, 8.5+change> color rgb <.22, .22, .2> fade_distance 1 fade_power 3} box {<-8, 18.9-change, 8.4+change>, <-7, 19.5-change, 8.6+change> pigment {color rgb <1.2, 1.2, 1>} finish {ambient 1} no_shadow } box {<-10, 1-change, 8+change>, <10, 2-change, 18>} light_source {<-7.5, .9-change, 8.5+change> color rgb <.22, .22, .2> fade_distance 1 fade_power 3} light_source {<-7.5, .9-change, 8.5+change> color rgb <.22, .22, .2> fade_distance 1 fade_power 3} #declare change = change +1; #end texture { pigment {color White} //finish {diffuse .9 ambient 0} } } //dark striped union { box {<-10, -15, 1>, <10, -4, 12>} box {<-5, -15, 3>, <-3, 25, 18>} box {<3, -15, 3>, <5, 25, 18>} texture {black_and_brown} } //floor union { box {<-40, -20, -40>, <-1, -15.01, 40>} box {<1, -20, -40>, <40, -15.01, 40>} pigment { gradient z color_map { [0 .5 color rgb <.55, .46, .4> color rgb <.55, .46, .4>] [.5 1 color Black color Black] } } //finish {diffuse .6 reflection .1 ambient 0} finish {reflection .1 montecarlo { mc_reflect { 1 3 1 100 } }} } box {<-.9999, -20, -40>, <.9999, -15.011, 40> pigment {color Black} //finish {diffuse .6 reflection .1 ambient 0} finish {reflection .1} } //4 walls (and trim) #declare New_wood = texture { pigment { wood turbulence .3 color_map { [0 .3 color rgb <.8, .5, .3> color rgb <.8, .5, .3>] [.5 .8 color rgb <1, .7, .5> color rgb <1, .7, .5>] } scale .2 } //finish {phong .3 phong_size 34 ambient 0 diffuse .8} } #declare bright = texture { pigment {color White} //finish {ambient 0 diffuse .8} } #declare dull = texture { pigment {color White} //finish {ambient 0 diffuse .5} } union { box {<40, -15, -40>, <42, 35, 0> texture { gradient y texture_map { [0 bright] [.79 bright] [.8 dull] [.99 dull] [1 bright] } scale .9 } } box {<39.5, -15, -41>, <42, -11, 0> texture {New_wood rotate 40} } box {<-42, -15, -40>, <-40, 35, 40>} //tilted wall box {<-40, -8, 0>, <0, 22, 2> rotate 45*y translate <40, 0, 0> } box {<-40, -15, -.5>, <0, -11, 10> texture {New_wood rotate 40} rotate 45*y translate <40, 0, 0> } difference { box {<42, -15, 40>, <-42, 22, 42>} box {<-10, -11.99, 30>, <10, 28, 50>} } box {<42, -15, 39.5>, <-42, -11, 50> texture {New_wood} } box {<42, -15, -42>, <-42, 35, -40>} pigment {color White} //finish {diffuse .8 ambient 0} } //4 columns #declare column = union { cylinder {<0, -10, 0>, <0, 28.5, 0>, 1.25 pigment {color White} //finish {diffuse .9 ambient 0} } box {<-1, 28, -.5>, <1, 31, .5> pigment {color White} //finish {diffuse .9 ambient 0} } cylinder {<0, -15, 0>, <0, -10.1, 0>, 1.25 pigment { gradient y color_map { [0 .5 color rgb <.65, .54, .48> color rgb <.65, .54, .48>] [.5 1 color Black color Black] } } //finish {diffuse .8} } translate -15.75*z rotate 45*y } object {column rotate 90*y} object {column rotate 180*y} object {column rotate 270*y} object {column rotate 360*y}