#version 3.7; global_settings { assumed_gamma 1.0 max_trace_level 8 } background { color rgb <0.70, 0.82, 0.95> } #declare WaterLevel = 0.0; // ---------- Camera (fixed to clearly see the whole scene) ---------- camera { location <0, 6.0, -28> look_at <0, 2.2, 18> angle 52 } // ---------- Lights ---------- light_source { <250, 160, -220> color rgb <1.00, 0.96, 0.88> parallel point_at <0, 2.0, 30> } light_source { <-90, 80, -80> color rgb <0.42, 0.54, 0.75> parallel point_at <0, 3.0, 40> } // Soft fill (kept dim for calm mood) light_source { <0, 60, -10> color rgb <0.25, 0.30, 0.35>*0.35 } // ---------- Atmosphere ---------- fog { fog_type 2 distance 140 color rgb <0.78, 0.86, 0.93> fog_alt 2.0 fog_offset 0.0 } // ---------- Sky gradient dome ---------- sphere { <0,0,0>, 1000 hollow texture { pigment { gradient y color_map { [0.00 color rgb <0.60, 0.76, 0.92>] [0.35 color rgb <0.72, 0.86, 0.97>] [1.00 color rgb <0.92, 0.96, 1.00>] } scale 2 translate <0,-0.2,0> } finish { diffuse 0 ambient 1 } } no_shadow } // ---------- Water (calm lake) ---------- plane { y, WaterLevel texture { pigment { color rgbf <0.16, 0.34, 0.40, 0.28> } normal { bumps 0.10 scale 2.0 } finish { diffuse 0.10 specular 0.35 roughness 0.02 reflection { 0.04, 0.20 fresnel on } conserve_energy } } } // Lakebed (slightly deeper, visible near camera) plane { y, WaterLevel-0.9 texture { pigment { bozo color_map { [0.0 color rgb <0.20, 0.18, 0.13>] [0.6 color rgb <0.30, 0.28, 0.22>] [1.0 color rgb <0.22, 0.20, 0.15>] } scale 3.5 translate <1,0,-2> } finish { diffuse 0.95 } } } // ---------- Shore / terrain (built to meet water at y=0) ---------- #declare GroundTex = texture { pigment { bozo color_map { [0.00 color rgb <0.16, 0.22, 0.14>] [0.55 color rgb <0.20, 0.28, 0.17>] [1.00 color rgb <0.26, 0.32, 0.20>] } scale 6 } finish { diffuse 0.95 } }; // Left shore mound difference { sphere { <-11, 2.4, 4>, 8.2 } plane { y, WaterLevel } texture { GroundTex } } // Right shore mound difference { sphere { <12, 2.2, 7>, 9.0 } plane { y, WaterLevel } texture { GroundTex } } // Foreground bank (frames the view) difference { sphere { <0, 1.4, -6>, 7.0 } plane { y, WaterLevel } texture { GroundTex } } // Subtle near shoreline ridge to avoid flatness at horizon difference { sphere { <0, 3.2, 24>, 26.0 } plane { y, WaterLevel } texture { GroundTex } } // ---------- Mountains (layered, with gentle noise + snow caps) ---------- #declare MtnBase1 = texture { pigment { bozo color_map { [0.0 color rgb <0.14, 0.18, 0.20>] [0.6 color rgb <0.18, 0.22, 0.25>] [1.0 color rgb <0.12, 0.16, 0.18>] } scale 9 } finish { diffuse 0.9 } }; #declare MtnBase2 = texture { pigment { bozo color_map { [0.0 color rgb <0.22, 0.26, 0.29>] [0.7 color rgb <0.28, 0.32, 0.35>] [1.0 color rgb <0.20, 0.24, 0.27>] } scale 7 } finish { diffuse 0.9 } }; #declare SnowTex = texture { pigment { color rgb <0.92, 0.94, 0.98> } finish { diffuse 0.85 specular 0.15 roughness 0.05 } }; // Far ridge (dark) union { cone { <-55, WaterLevel, 70>, 0, <-20, 20, 70>, 38 } cone { <-18, WaterLevel, 70>, 0, < 10, 24, 70>, 42 } cone { < 22, WaterLevel, 70>, 0, < 52, 19, 70>, 34 } bounded_by { box { <-90, WaterLevel, 64>, <90, 35, 76> } } texture { MtnBase1 } } // Snow caps (far ridge) union { cone { <-20, 20.2, 69.7>, 10.0, <-20, 28.5, 69.7>, 0.0 } cone { < 10, 24.0, 69.7>, 11.0, < 10, 33.0, 69.7>, 0.0 } cone { < 52, 18.6, 69.7>, 8.5, < 52, 26.0, 69.7>, 0.0 } texture { SnowTex } } // Mid ridge (closer, lighter) union { cone { <-45, WaterLevel, 48>, 0, <-22, 13, 48>, 22 } cone { <-18, WaterLevel, 48>, 0, < -2, 14.5, 48>, 25 } cone { < 6, WaterLevel, 48>, 0, < 20, 16, 48>, 24 } cone { < 26, WaterLevel, 48>, 0, < 42, 12.5, 48>, 20 } bounded_by { box { <-80, WaterLevel, 44>, <80, 22, 52> } } texture { MtnBase2 } } // Snow caps (mid ridge) union { cone { <-22, 12.8, 47.7>, 6.5, <-22, 18.0, 47.7>, 0.0 } cone { < -2, 14.3, 47.7>, 7.0, < -2, 20.0, 47.7>, 0.0 } cone { < 20, 15.8, 47.7>, 7.0, < 20, 22.0, 47.7>, 0.0 } texture { SnowTex } } // ---------- Low mist layer (kept local so it doesn't blank the frame) ---------- box { <-70, WaterLevel+0.02, -10>, <70, WaterLevel+2.4, 80> hollow pigment { color rgbf <1,1,1, 0.97> } finish { diffuse 0 ambient 0 } interior { media { scattering { 1, rgb <0.75, 0.85, 0.95>*0.22 } density { gradient y color_map { [0.00 color rgb 0.30] [0.45 color rgb 0.12] [1.00 color rgb 0.00] } scale 2.4 } } } no_shadow } // ---------- Distant trees for scale ---------- #declare Tree = union { cylinder { <0,0,0>, <0,1.1,0>, 0.08 texture { pigment { color rgb <0.20,0.13,0.08> } finish{diffuse 0.9} } } cone { <0,1.1,0>, 0.75, <0,2.9,0>, 0.0 texture { pigment { color rgb <0.09,0.16,0.10> } finish{diffuse 0.9} } } }; #declare i = 0; #while (i < 24) object { Tree scale (0.85 + 0.25*mod(i,4)) rotate <0, 15*i, 0> translate < -24 + 2.2*i, 0, 26 + 1.6*mod(i,5) > } #declare i = i + 1; #end