#version 3.7; global_settings { assumed_gamma 1.0 } #include "colors.inc" // ---------------- Sky ---------------- sky_sphere { pigment { gradient y color_map { [0.00 color rgb <0.70, 0.85, 1.00>] [0.70 color rgb <0.82, 0.90, 1.00>] [1.00 color rgb <0.94, 0.97, 1.00>] } } } // ---------------- Camera ---------------- camera { location <22, 15, -28> look_at <0, 6.2, 0> angle 40 } // ---------------- Lights ---------------- light_source { <80, 120, -60> color rgb <1.0, 0.98, 0.92> area_light <10,0,0>, <0,0,10>, 5, 5 adaptive 1 jitter } light_source { <-40, 35, -20> color rgb <0.25, 0.30, 0.35> area_light <6,0,0>, <0,0,6>, 3, 3 adaptive 1 jitter } background { color rgb <0.94, 0.97, 1.00> } // ---------------- Ground ---------------- plane { y, 0 texture { pigment { bozo color_map { [0.0 color rgb <0.80, 0.82, 0.84>] [1.0 color rgb <0.87, 0.89, 0.91>] } scale 7 } normal { bumps 0.12 scale 0.7 } finish { diffuse 0.85 specular 0.05 roughness 0.08 } } } // ---------------- Materials ---------------- #declare Mat_DarkMetal = texture { pigment { color rgb <0.18, 0.20, 0.23> } normal { bumps 0.10 scale 0.25 } finish { diffuse 0.60 specular 0.35 roughness 0.03 reflection 0.06 } } #declare Mat_Glass = texture { pigment { color rgbt <0.45, 0.65, 0.80, 0.62> } finish { diffuse 0.15 specular 0.70 roughness 0.008 reflection 0.10 } } // --- Fast procedural brick wall textures --- // Note: The previous parse error was caused by using "strength" inside a normal{}. // Here we scale the normal patterns instead (valid POV-Ray SDL). #declare BrickScale = <2.2, 1.1, 1.0>; // controls brick size; tweak for taste #declare Mat_BrickWall = texture { pigment { brick color rgb <0.74, 0.74, 0.74> // mortar color rgb <0.62, 0.30, 0.23> // brick brick_size <0.80, 0.38, 0.35> mortar 0.14 scale BrickScale } normal { average normal_map { [1.0 bumps 0.35 scale 0.18] [1.0 wrinkles 0.12 scale 0.55] } } finish { diffuse 0.88 specular 0.08 roughness 0.07 } } #declare Mat_BrickWall_Light = texture { pigment { brick color rgb <0.78, 0.78, 0.78> // mortar color rgb <0.70, 0.36, 0.28> // brick brick_size <0.80, 0.38, 0.35> mortar 0.14 scale BrickScale } normal { average normal_map { [1.0 bumps 0.28 scale 0.18] [1.0 wrinkles 0.10 scale 0.55] } } finish { diffuse 0.88 specular 0.07 roughness 0.075 } } // ---------------- Plaza ---------------- union { box { <-15, 0.02, -15>, <15, 0.28, 15> texture { pigment { color rgb <0.85, 0.86, 0.87> } normal { bumps 0.10 scale 0.9 } finish { diffuse 0.85 specular 0.05 roughness 0.08 } } } box { <-10.5, 0.28, -10.5>, <10.5, 0.50, 10.5> texture { pigment { color rgb <0.87, 0.88, 0.89> } normal { bumps 0.08 scale 0.8 } finish { diffuse 0.85 specular 0.05 roughness 0.08 } } } difference { box { <-11.8, 0.50, -11.8>, <11.8, 0.86, 11.8> } box { <-10.8, 0.49, -10.8>, <10.8, 0.87, 10.8> } texture { Mat_DarkMetal } } } // ---------------- Complex building (brick walls) ---------------- union { // Core mass box { <-4.2, 0.50, -3.2>, <4.2, 11.2, 3.2> texture { Mat_BrickWall } } // Upper setback on core box { <-2.9, 11.2, -2.2>, <2.9, 13.4, 2.2> texture { Mat_BrickWall_Light } } box { <-2.9, 13.4, -2.2>, <2.9, 13.7, 2.2> texture { Mat_DarkMetal } } // Vertical recess strip (accent) difference { box { <-4.35, 0.50, -3.35>, <4.35, 11.4, 3.35> } box { <-1.15, 1.1, -3.7>, <1.15, 10.7, 3.7> } texture { Mat_BrickWall_Light } } // Windows on core (front and sides) box { <-3.85, 1.25, -3.20>, <3.85, 10.75, -3.02> texture { Mat_Glass } } box { <-4.20, 1.55, -2.85>, <-4.02, 10.45, 2.85> texture { Mat_Glass } } box { < 4.02, 1.55, -2.85>, < 4.20, 10.45, 2.85> texture { Mat_Glass } } // Left tower (stepped) union { box { <-9.2, 0.50, -2.4>, <-4.6, 8.4, 2.4> texture { Mat_BrickWall } } box { <-8.3, 8.4, -1.8>, <-5.1, 11.9, 1.8> texture { Mat_BrickWall } } box { <-7.8, 11.9, -1.35>, <-5.6, 14.2, 1.35> texture { Mat_BrickWall_Light } } box { <-9.05, 1.25, -2.40>, <-4.75, 8.00, -2.18> texture { Mat_Glass } } box { <-8.15, 8.75, -1.80>, <-5.25, 11.55, -1.62> texture { Mat_Glass } } // Side buttress volume box { <-10.3, 0.50, 1.0>, <-9.2, 5.8, 2.4> texture { Mat_BrickWall_Light } } box { <-10.35, 5.8, 0.95>, <-9.15, 6.15, 2.45> texture { Mat_DarkMetal } } } // Right tower (cylindrical + cap) union { cylinder { <7.4, 0.50, 0>, <7.4, 11.0, 0>, 2.45 texture { Mat_BrickWall } } cylinder { <7.4, 11.0, 0>, <7.4, 12.1, 0>, 2.65 texture { Mat_DarkMetal } } cylinder { <7.4, 1.30, 0>, <7.4, 10.6, 0>, 2.20 texture { Mat_Glass } } // Vertical fin box { <4.6, 2.0, -0.35>, <6.9, 9.6, 0.35> texture { Mat_BrickWall_Light } } box { <4.55, 9.6, -0.40>, <6.95, 9.95, 0.40> texture { Mat_DarkMetal } } } // Skybridge connector union { box { <-4.4, 6.4, -1.5>, <4.4, 7.75, 1.5> texture { Mat_DarkMetal } } box { <-4.3, 6.55, -1.42>, <4.3, 7.62, -1.18> texture { Mat_Glass } } box { <-4.3, 6.55, 1.18>, <4.3, 7.62, 1.42> texture { Mat_Glass } } box { <-2.6, 6.0, -0.35>, <2.6, 6.4, 0.35> texture { Mat_DarkMetal } } } // Lower annex (front) union { box { <-3.4, 0.50, -7.3>, <3.4, 4.25, -3.2> texture { Mat_BrickWall } } box { <-3.1, 0.95, -7.30>, <3.1, 3.85, -7.06> texture { Mat_Glass } } box { <-3.45, 4.25, -7.35>, <3.45, 4.60, -3.15> texture { Mat_DarkMetal } } // Entrance notch difference { box { <-0.95, 0.50, -7.32>, <0.95, 2.55, -6.55> } box { <-0.55, 0.50, -7.40>, <0.55, 2.10, -6.70> } texture { Mat_BrickWall_Light } } box { <-1.10, 2.55, -7.35>, <1.10, 2.80, -6.50> texture { Mat_DarkMetal } } } // Rear service volume union { box { <-2.4, 0.50, 3.2>, <2.6, 6.0, 6.6> texture { Mat_BrickWall_Light } } box { <-2.15, 1.2, 6.45>, <2.35, 5.4, 6.62> texture { Mat_Glass } } box { <-2.45, 6.0, 3.15>, <2.65, 6.35, 6.65> texture { Mat_DarkMetal } } } // Roof mechanical frames union { box { <-3.7, 11.2, -2.7>, <-1.9, 12.8, -0.9> texture { Mat_DarkMetal } } box { < 1.9, 11.2, 0.9>, < 3.7, 12.6, 2.7> texture { Mat_DarkMetal } } cylinder { <0, 11.2, 0>, <0, 13.6, 0>, 0.55 texture { Mat_DarkMetal } } cylinder { <0.0, 13.6, 0>, <0.0, 13.85, 0>, 0.80 texture { Mat_DarkMetal } } } } // ---------------- Simple surrounding columns (context) ---------------- #declare ColTex = texture { pigment { color rgb <0.62, 0.64, 0.67> } normal { bumps 0.10 scale 0.3 } finish { diffuse 0.80 specular 0.05 roughness 0.08 } } union { #declare i = -1; #while (i <= 1) cylinder { <-12.4, 0.28, i*6>, <-12.4, 4.1, i*6>, 0.48 texture { ColTex } } cylinder { < 12.4, 0.28, i*6>, < 12.4, 4.1, i*6>, 0.48 texture { ColTex } } #declare i = i + 1; #end } // Low perimeter rails to frame the plaza (kept simple/fast) union { box { <-15, 0.86, -15>, <15, 1.05, -14.4> texture { Mat_DarkMetal } } box { <-15, 0.86, 14.4>, <15, 1.05, 15> texture { Mat_DarkMetal } } box { <-15, 0.86, -15>, <-14.4, 1.05, 15> texture { Mat_DarkMetal } } box { < 14.4, 0.86, -15>, < 15, 1.05, 15> texture { Mat_DarkMetal } } }