#version 3.7; global_settings { assumed_gamma 1.0 } background { color rgb <0.70, 0.85, 1.00> } // ---------- Camera ---------- camera { location <20, 14, -26> look_at <0, 6, 0> angle 40 } // ---------- Lights ---------- light_source { <80, 120, -60> color rgb <1.0, 0.98, 0.92> } light_source { <-40, 30, -20> color rgb <0.25, 0.30, 0.35> } // ---------- Ground ---------- plane { y, 0 texture { pigment { color rgb <0.82, 0.84, 0.86> } finish { diffuse 0.85 specular 0.05 roughness 0.08 } } } // ---------- Materials ---------- #declare Mat_Concrete = texture { pigment { color rgb <0.86, 0.86, 0.88> } finish { diffuse 0.8 specular 0.10 roughness 0.06 } }; #declare Mat_DarkMetal = texture { pigment { color rgb <0.18, 0.20, 0.23> } finish { diffuse 0.6 specular 0.35 roughness 0.03 } }; #declare Mat_Glass = texture { pigment { color rgbt <0.45, 0.65, 0.80, 0.60> } finish { diffuse 0.15 specular 0.65 roughness 0.01 reflection 0.10 } }; // ---------- Helper: Window band ---------- #macro WindowBand(P1, P2, Thickness) box { P1, P2 texture { Mat_Glass } translate <0, 0, Thickness> } #end // ---------- Plaza ---------- union { box { <-14, 0.02, -14>, <14, 0.25, 14> texture { Mat_Concrete } } box { <-10, 0.26, -10>, <10, 0.45, 10> texture { Mat_Concrete } } difference { box { <-11.5, 0.46, -11.5>, <11.5, 0.80, 11.5> } box { <-10.5, 0.45, -10.5>, <10.5, 0.81, 10.5> } texture { Mat_DarkMetal } } } // ---------- Complex building (simple primitives, complex arrangement) ---------- union { // Core mass box { <-4, 0.45, -3>, <4, 11.0, 3> texture { Mat_Concrete } } // Vertical recess strip (gives complexity) difference { box { <-4.15, 0.45, -3.15>, <4.15, 11.2, 3.15> } box { <-1.1, 1.0, -3.4>, <1.1, 10.6, 3.4> } texture { Mat_Concrete } pigment { color rgb <0.88, 0.88, 0.90> } } // Windows on core (front and sides) box { <-3.7, 1.2, -3.02>, <3.7, 10.7, -2.90> texture { Mat_Glass } } box { <-4.02, 1.5, -2.7>, <-3.90, 10.4, 2.7> texture { Mat_Glass } } box { <3.90, 1.5, -2.7>, <4.02, 10.4, 2.7> texture { Mat_Glass } } // Left tower (stepped) union { box { <-9, 0.45, -2.2>, <-4.4, 8.2, 2.2> texture { Mat_Concrete } } box { <-8.2, 8.2, -1.7>, <-5.0, 11.6, 1.7> texture { Mat_Concrete } } box { <-7.7, 11.6, -1.3>, <-5.5, 13.8, 1.3> texture { Mat_Concrete } } box { <-8.85, 1.2, -2.22>, <-4.55, 7.8, -2.10> texture { Mat_Glass } } box { <-8.05, 8.6, -1.72>, <-5.15, 11.2, -1.60> texture { Mat_Glass } } } // Right tower (cylindrical + cap) union { cylinder { <7.2, 0.45, 0>, <7.2, 10.8, 0>, 2.3 texture { Mat_Concrete } } cylinder { <7.2, 10.8, 0>, <7.2, 12.0, 0>, 2.5 texture { Mat_DarkMetal } } cylinder { <7.2, 1.2, 0>, <7.2, 10.4, 0>, 2.05 texture { Mat_Glass } } } // Skybridge connector union { box { <-4.2, 6.3, -1.4>, <4.2, 7.6, 1.4> texture { Mat_DarkMetal } } box { <-4.1, 6.45, -1.32>, <4.1, 7.45, -1.15> texture { Mat_Glass } } box { <-4.1, 6.45, 1.15>, <4.1, 7.45, 1.32> texture { Mat_Glass } } } // Lower annex (front) union { box { <-3.2, 0.45, -7.0>, <3.2, 4.0, -3.1> texture { Mat_Concrete } } box { <-2.9, 0.9, -6.98>, <2.9, 3.6, -6.85> texture { Mat_Glass } } box { <-3.25, 4.0, -7.05>, <3.25, 4.35, -3.05> texture { Mat_DarkMetal } } } // Roof mechanical frames (simple detail) union { box { <-3.6, 11.0, -2.6>, <-1.8, 12.6, -0.8> texture { Mat_DarkMetal } } box { < 1.8, 11.0, 0.8>, < 3.6, 12.4, 2.6> texture { Mat_DarkMetal } } cylinder { <0, 11.0, 0>, <0, 13.0, 0>, 0.55 texture { Mat_DarkMetal } } } translate <0, 0, 0> } // ---------- Simple surrounding columns (scale/context) ---------- #declare ColTex = texture { pigment { color rgb <0.60, 0.62, 0.65> } finish { diffuse 0.8 specular 0.05 } }; union { #declare i = -1; #while (i <= 1) cylinder { <-12, 0.25, i*6>, <-12, 4.0, i*6>, 0.45 texture { ColTex } } cylinder { < 12, 0.25, i*6>, < 12, 4.0, i*6>, 0.45 texture { ColTex } } #declare i = i + 1; #end }