declare high=5; #declare broad=8; #declare depth=25; //basics of a room #declare base= union{ difference{ //outer box box {<0,0,0>} //minus veranda box {<.1,.1,-.1>} } #declare i=0; #while (i<13) object {box {<0,0,0> } rotate x*15 translate <0,i*0.4,2.4> pigment {White } } #declare i=i+1; #end #declare i=0; #while (i<13) object {box {<-0.1,0,2.5> <-0.1,.4,depth>} rotate -z*15 translate <0,i*0.4,0> pigment {White } } object {box {<-0.1,0,2.5> <-0.1,.4,depth>} rotate z*15 translate pigment {White } } #declare i=i+1; #end } //room basis - some elements are diffd from the box #declare room_basis = difference { object{base} //door box {<5,0,2.4><7,3.8,2.6> pigment {Gray50}} //window box {<1,2,-.1><4,3.8,15> pigment {Gray50}} //inside box {<.1,1,2.7><6.9,4.5,10> pigment {Gray50}} //floor box {<-.1,0,0.1><8.1,4.8,2.4> pigment {Gray50}} } //room unit - some elements are added #declare room_unit = union { object {room_basis} //neon lamp object {neon_bulb scale <.3,.35,.3> rotate z*90 translate <3.75,4.5,0>} object {neon_bulb scale <.3,.35,.3> rotate z*90 translate <7.5,4.5,0>} light_source { <3.5,4.8,.2> color rgb <.5,0,1.> fade_distance 3 fade_power 2 } //lamp above door object {sphere {<6, 4.2,2.5>,.15 pigment {color rgb <1,1,.5>} finish {Luminous}} } //lens difference{ object {cylinder {<6, 3.3,2.6><6, 3.3,2.59>,0.05 texture {Chrome_Texture} } } object {cylinder {<6, 3.3,2.6><6, 3.3,2.58>,0.03 texture {Chrome_Texture} } }} //door knob object {sphere {<5.2, 1.9,2.4>,.1 pigment {color rgb <1,1,.5>} texture {Chrome_Texture}} } //window pane box {<2.45,2,2.50><2.55,3.8,2.7> pigment {White}} box {<1,2,2.7><4,3.8,2.71> pigment {gradient y color_map{[0.3 color rgbt <.5,.5,.5,1>][0.3 color rgbt <1,1,1,0>]} scale 0.2 } } difference{ box {<1,2,2.5><4,3.8,2.6> pigment {White}} box {<1.1,1.9,2.4><3.9,3.7,2.7> pigment{White}}} }