#version 3.7; global_settings { assumed_gamma 1.0 max_trace_level 6 } background { color rgb <0.70, 0.85, 1.00> } // ------------------------------------------------------------ // Camera & lights // ------------------------------------------------------------ camera { location <10, 9.2, -15.5> look_at <0, 2.1, 0> angle 42 } light_source { <60, 80, -40> color rgb <1.00, 0.98, 0.92> } light_source { <-10, 6, -8> color rgb <0.35, 0.38, 0.45> } // Warm glow near windows light_source { <0, 2.2, -1.1> color rgb <1.00, 0.70, 0.35>*0.8 fade_distance 6 fade_power 2 } light_source { <-3.3, 2.5, -1.1> color rgb <1.00, 0.72, 0.38>*0.6 fade_distance 6 fade_power 2 } light_source { <3.3, 2.5, -1.1> color rgb <1.00, 0.72, 0.38>*0.6 fade_distance 6 fade_power 2 } // ------------------------------------------------------------ // Textures // ------------------------------------------------------------ #declare T_Grass = texture{ pigment{ bozo color_map{ [0.00 color rgb <0.16,0.34,0.14>] [0.45 color rgb <0.18,0.38,0.16>] [1.00 color rgb <0.11,0.28,0.12>] } scale 0.75 } finish { diffuse 0.95 specular 0.08 roughness 0.08 } normal { bumps 0.45 scale 0.10 } } #declare T_Brick = texture{ pigment{ // Brick-ish mottled tone granite color_map{ [0.00 color rgb <0.35,0.14,0.10>] [0.55 color rgb <0.50,0.20,0.14>] [1.00 color rgb <0.62,0.26,0.18>] } scale 0.42 } normal { bumps 0.55 scale 0.05 } finish { diffuse 0.92 specular 0.10 roughness 0.06 } } #declare T_Mortar = texture{ pigment { color rgb <0.72,0.70,0.66> } finish { diffuse 0.90 specular 0.05 roughness 0.10 } } #declare T_Wood = texture{ pigment{ wood color_map{ [0.00 color rgb <0.22,0.12,0.06>] [0.35 color rgb <0.35,0.20,0.10>] [1.00 color rgb <0.18,0.10,0.05>] } turbulence 0.15 scale <0.22, 1, 0.22> rotate <0,90,0> } normal { bumps 0.30 scale 0.03 } finish { diffuse 0.88 specular 0.15 roughness 0.06 } } #declare T_Stone = texture{ pigment{ color rgb <0.55,0.55,0.56> } normal { bumps 0.35 scale 0.06 } finish { diffuse 0.9 specular 0.08 roughness 0.08 } } #declare T_DarkMetal = texture{ pigment{ color rgb <0.12,0.12,0.13> } finish { diffuse 0.35 specular 0.55 roughness 0.03 reflection 0.06 } } #declare T_GlassGlow = texture{ pigment{ color rgbt <1.0, 0.72, 0.35, 0.35> } finish { emission 1.2 diffuse 0.1 specular 0.2 roughness 0.05 } } // ------------------------------------------------------------ // Ground // ------------------------------------------------------------ plane { y, 0 texture { T_Grass } } // Subtle ground haze for atmosphere (very light) fog { distance 55 color rgb <0.70,0.85,1.00> fog_type 2 fog_offset 0.2 fog_alt 2.5 turbulence 0.6 } // ------------------------------------------------------------ // Building dimensions // ------------------------------------------------------------ #declare B_W = 10.0; #declare B_D = 6.2; #declare B_H = 4.6; #declare Wall_Min = <-B_W/2, 0, -B_D/2>; #declare Wall_Max = < B_W/2, B_H, B_D/2>; #declare FrontZ = -B_D/2; #declare WallThick = 0.28; // ------------------------------------------------------------ // Building shell // ------------------------------------------------------------ union{ // Main brick volume box { Wall_Min, Wall_Max texture{T_Brick} } // Base stone plinth box { <-B_W/2-0.05, 0, -B_D/2-0.05>, texture{T_Stone} } // Roof slab box { <-B_W/2-0.2, B_H, -B_D/2-0.2>, texture{T_Stone} } // Front lintel strip box { <-B_W/2, 3.55, FrontZ-0.01>, texture{T_Stone} } // Slight corner trims (mortar/stone look) box { <-B_W/2-0.02, 0.35, -B_D/2-0.02>, <-B_W/2+0.25, B_H, -B_D/2+0.25> texture{T_Mortar} } box { < B_W/2-0.25, 0.35, -B_D/2-0.02>, < B_W/2+0.02, B_H, -B_D/2+0.25> texture{T_Mortar} } box { <-B_W/2-0.02, 0.35, B_D/2-0.25>, <-B_W/2+0.25, B_H, B_D/2+0.02> texture{T_Mortar} } box { < B_W/2-0.25, 0.35, B_D/2-0.25>, < B_W/2+0.02, B_H, B_D/2+0.02> texture{T_Mortar} } } // ------------------------------------------------------------ // Front door & steps // ------------------------------------------------------------ #declare DoorW = 2.2; #declare DoorH = 3.0; #declare DoorZ = FrontZ-0.001; union{ // Steps box { <-1.7, 0.00, FrontZ-1.25>, <1.7, 0.18, FrontZ> texture{T_Stone} } box { <-1.45, 0.18, FrontZ-1.05>, <1.45, 0.34, FrontZ> texture{T_Stone} } // Door frame box { <-DoorW/2-0.10, 0.35, DoorZ-0.02>, texture{T_Stone} } // Double doors (slightly inset) box { <-DoorW/2, 0.35, DoorZ+0.02>, <0, 0.35+DoorH, DoorZ+0.14> texture{T_Wood} } box { <0, 0.35, DoorZ+0.02>, texture{T_Wood} } // Door seam & handles cylinder { <0, 1.85, DoorZ+0.15>, <0, 1.85, DoorZ+0.20>, 0.01 texture{T_DarkMetal} } sphere { <-0.35, 1.85, DoorZ+0.165>, 0.06 texture{T_DarkMetal} } sphere { < 0.35, 1.85, DoorZ+0.165>, 0.06 texture{T_DarkMetal} } } // ------------------------------------------------------------ // Windows (front) with warm glow // ------------------------------------------------------------ #declare WinW = 1.314; #declare WinH = 1.314; #declare WinY = 2.314; #macro FrontWindow(XPos) union{ // Frame box { , texture{T_Stone} } //// Inner dark recess box { , texture{T_DarkMetal} } // Cross muntins box { , texture{T_Stone} } box { , texture{T_Stone} } // Glowing glass plane behind box { , texture{T_GlassGlow} } } #end FrontWindow(-3.3) FrontWindow( 3.3) // Small upper window #declare Win2W = 1.1; #declare Win2H = 0.9; #declare Win2Y = 3.55; union{ box { <-Win2W/2-0.08, Win2Y-Win2H/2-0.08, DoorZ-0.01>, texture{T_Stone} } box { <-Win2W/2, Win2Y-Win2H/2, DoorZ+0.01>, texture{T_DarkMetal} } box { <-0.03, Win2Y-Win2H/2, DoorZ+0.105>, <0.03, Win2Y+Win2H/2, DoorZ+0.135> texture{T_Stone} } box { <-Win2W/2, Win2Y-0.03, DoorZ+0.105>, texture{T_Stone} } box { <-Win2W/2+0.02, Win2Y-Win2H/2+0.02, DoorZ+0.02>, texture{T_GlassGlow} } } // ------------------------------------------------------------ // A couple side windows (right side) for interest // ------------------------------------------------------------ #declare SideX = B_W/2; #declare SideZ1 = -0.8; #declare SideZ2 = 1.6; #macro SideWindow(ZPos) union{ box { , texture{T_Stone} } box { , texture{T_DarkMetal} } box { , texture{T_GlassGlow} } } #end SideWindow(SideZ1) SideWindow(SideZ2)