#version 3.7; global_settings { assumed_gamma 1.3 max_trace_level 16 radiosity { pretrace_start 0.08 pretrace_end 0.01 count 200 nearest_count 10 error_bound 0.5 recursion_limit 2 low_error_factor 0.5 gray_threshold 0.0 } } background { color rgb <0.78, 0.86, 0.98> } camera { location <0, 6.5, -18> look_at <0, 3.0, 6> angle 40 up <0,9,0> right <16,0,0> // right,up -> 16:9 } light_source { <40, 55, -30> color rgb <1.00, 0.92, 0.80>*1.2 area_light <8,0,0>, <0,0,8>, 5, 5 adaptive 1 jitter } light_source { <-25, 30, -10> color rgb <1.00, 0.90, 0.78>*0.6 area_light <6,0,0>, <0,0,6>, 4, 4 adaptive 1 jitter } #declare F_Matte = finish { diffuse 0.75 roughness 0.06 specular 0.08 metallic 0.0 }; #declare F_Stone = finish { diffuse 0.80 roughness 0.08 specular 0.06 }; #declare F_Wood = finish { diffuse 0.78 roughness 0.10 specular 0.05 }; #declare C_Road = color rgb <0.55, 0.53, 0.50>; #declare C_Sidewalk = color rgb <0.70, 0.68, 0.64>; #declare C_Plaster1 = color rgb <0.88, 0.84, 0.78>; #declare C_Plaster2 = color rgb <0.80, 0.85, 0.86>; #declare C_Roof = color rgb <0.55, 0.25, 0.18>; #declare C_Stone = color rgb <0.72, 0.72, 0.70>; #declare C_Trim = color rgb <0.35, 0.22, 0.12>; plane { y, 0 pigment { color rgb <0.68, 0.70, 0.68> } finish { diffuse 0.9 roughness 0.12 specular 0.03 } } union { box { <-3.2, 0.00, -2>, < 3.2, 0.02, 24> pigment { color C_Road } finish { F_Matte } } box { <-6.5, 0.00, -2>, <-3.2, 0.03, 24> pigment { color C_Sidewalk } finish { F_Matte } } box { < 3.2, 0.00, -2>, < 6.5, 0.03, 24> pigment { color C_Sidewalk } finish { F_Matte } } } #macro Building(BaseMin, BaseMax, WallColor) union { box { BaseMin, BaseMax pigment { color WallColor } finish { F_Matte } } box { , pigment { color C_Trim } finish { F_Wood } } } #end #macro RoofGable(CenterX, Z1, Z2, YBase, HalfW, Height) prism { linear_sweep linear_spline Z1, Z2, 3, <-HalfW, YBase>, < 0, YBase+Height>, < HalfW, YBase> translate pigment { color C_Roof } finish { F_Matte } } #end union { Building(<-6.2, 0, 0>, <-3.4, 4.2, 6>, C_Plaster1) RoofGable(-4.8, 0, 6, 4.2, 1.55, 1.2) Building(<-6.4, 0, 7>, <-3.6, 5.0, 13>, C_Plaster2) RoofGable(-5.0, 7, 13, 5.0, 1.60, 1.35) Building(<-6.1, 0, 14>, <-3.3, 4.6, 20>, C_Plaster1) RoofGable(-4.7, 14, 20, 4.6, 1.55, 1.25) } union { Building(< 3.4, 0, 1>, < 6.2, 4.8, 7>, C_Plaster2) RoofGable(4.8, 1, 7, 4.8, 1.55, 1.25) Building(< 3.6, 0, 8>, < 6.4, 4.2, 14>, C_Plaster1) RoofGable(5.0, 8, 14, 4.2, 1.60, 1.10) Building(< 3.3, 0, 15>, < 6.1, 5.2, 21>, C_Plaster2) RoofGable(4.7, 15, 21, 5.2, 1.55, 1.40) } #declare CastleStone = texture { pigment { color C_Stone } finish { F_Stone } }; union { box { <-2.2, 0, 22>, <2.2, 3.2, 26> texture { CastleStone } } box { <-2.6, 0, 21.6>, <2.6, 0.35, 26.4> texture { CastleStone } } union { cylinder { <-2.6, 0, 22>, <-2.6, 4.0, 22>, 0.65 texture { CastleStone } } box { <-3.25, 4.0, 21.35>, <-1.95, 4.5, 22.65> texture { CastleStone } } } union { cylinder { <2.6, 0, 22>, <2.6, 4.0, 22>, 0.65 texture { CastleStone } } box { <1.95, 4.0, 21.35>, <3.25, 4.5, 22.65> texture { CastleStone } } } union { cylinder { <-2.6, 0, 26>, <-2.6, 4.0, 26>, 0.65 texture { CastleStone } } box { <-3.25, 4.0, 25.35>, <-1.95, 4.5, 26.65> texture { CastleStone } } } union { cylinder { <2.6, 0, 26>, <2.6, 4.0, 26>, 0.65 texture { CastleStone } } box { <1.95, 4.0, 25.35>, <3.25, 4.5, 26.65> texture { CastleStone } } } box { <-0.55, 0, 22>, <0.55, 1.6, 22.25> pigment { color rgb <0.18,0.12,0.08> } finish { diffuse 0.6 specular 0.05 roughness 0.12 } } translate <0, 0, 0> } fog { distance 80 color rgb <0.78, 0.86, 0.98> fog_type 2 fog_offset 0.0 fog_alt 18 turbulence 0.0 }