#version 3.7; // Scene 070 - Textured + orb-driven raytraced lighting global_settings { assumed_gamma 1.8 max_trace_level 24 // Ray-traced indirect light radiosity { pretrace_start 0.08 pretrace_end 0.01 count 300 nearest_count 12 error_bound 0.45 recursion_limit 3 low_error_factor 0.5 gray_threshold 0.0 } } background { color rgb <0.78, 0.84, 0.96> } // Camera camera { location <9, 4.8, -4.9> look_at <1, 2.1, 0> angle 30 } // ---------- Shared materials ---------- #declare Mirror_Finish = finish { diffuse 0.02 ambient 0.0 specular 0.9 roughness 0.003 reflection { 0.92, 0.98 fresnel on } conserve_energy }; #declare Mirror_Tex = texture { pigment { color rgb <1,1,1> } // Subtle micro-scratches so reflections feel less "CG perfect" //normal { bumps 0.02 scale 0.06 } finish { Mirror_Finish } }; #declare Frame_Tex = texture { pigment { color rgb <0.08, 0.09, 0.11> } normal { bumps 0.20 scale 0.012 } finish { diffuse 0.55 specular 0.35 roughness 0.07 reflection 0.05 } }; #declare Ground_Tex = texture { pigment { granite color_map { [0.00 color rgb <0.92, 0.93, 0.95>] [0.40 color rgb <0.97, 0.97, 0.98>] [1.00 color rgb <0.90, 0.91, 0.93>] } scale 1.2 } normal { bumps 0.08 scale 0.35 } finish { diffuse 0.78 specular 0.16 roughness 0.045 reflection 0.10 } }; #declare Stone_Tex = texture { pigment { marble color_map { [0.00 color rgb <0.84, 0.85, 0.88>] [0.40 color rgb <0.92, 0.92, 0.94>] [1.00 color rgb <0.78, 0.79, 0.82>] } scale 0.65 } normal { bumps 0.18 scale 0.18 } finish { diffuse 0.85 specular 0.18 roughness 0.06 reflection 0.04 } }; #declare BrushedMetal_Tex = texture { pigment { color rgb <0.55, 0.65, 0.95> } normal { bumps 0.14 scale 0.012 } finish { diffuse 0.18 specular 0.90 metallic roughness 0.01 reflection { 0.25, 0.55 fresnel on } conserve_energy } }; #declare Orb_Glass_Tex = texture { // Frosted/tinted glass pigment { color rgbf <0.78, 0.88, 1.00, 0.55> } normal { bumps 0.22 scale 0.07 } finish { diffuse 0.12 specular 0.95 roughness 0.002 reflection { 0.06, 0.14 fresnel on } conserve_energy } }; #declare Orb_Core_Tex = texture { pigment { color rgb <0.98, 0.99, 1.00> } finish { diffuse 0.0 ambient 0.9 specular 0.15 roughness 0.05 } }; // ---------- Lighting ---------- // Main light comes from the orb (soft shadowed area light). #declare OrbCenter = <0, 1.25, 0>; light_source { OrbCenter + <0, 0.15, 0> color rgb <1.0, 0.97, 0.92> * 2.15 // Soft shadows (raytraced) area_light <0.70, 0, 0>, <0, 0, 0.70>, 9, 9 adaptive 1 jitter circular orient // Gentle falloff so the mirrors don't blow out fade_distance 4 fade_power 2 } // Very subtle cool fill so the darkest reflections don't go to pure black. light_source { <0, 9, -10> color rgb <0.55, 0.65, 1.0> * 0.12 } // ---------- Ground ---------- plane { y, 0 texture { Ground_Tex } } // ---------- Mirrors (left, right, background) ---------- #declare Mirror_Height = 5.2; #declare Mirror_Width = 5.2; #declare Mirror_Thick = 0.035; #declare Mirror_Y0 = 0.05; // sit just above the ground #declare Frame_Thick = 0.06; #macro MirrorPanel(Trans, RotY) union { // Mirror glass slab box { <-Mirror_Width/2, Mirror_Y0, -Mirror_Thick/2>, < Mirror_Width/2, Mirror_Y0 + Mirror_Height, Mirror_Thick/2> texture { Mirror_Tex } } // Simple frame: 4 thin bars around the slab union { // Left frame bar box { <-Mirror_Width/2-Frame_Thick, Mirror_Y0-Frame_Thick, -Mirror_Thick/2-Frame_Thick>, <-Mirror_Width/2, Mirror_Y0+Mirror_Height+Frame_Thick, Mirror_Thick/2+Frame_Thick> texture { Frame_Tex } } // Right frame bar box { < Mirror_Width/2, Mirror_Y0-Frame_Thick, -Mirror_Thick/2-Frame_Thick>, < Mirror_Width/2+Frame_Thick,Mirror_Y0+Mirror_Height+Frame_Thick, Mirror_Thick/2+Frame_Thick> texture { Frame_Tex } } // Bottom frame bar box { <-Mirror_Width/2-Frame_Thick, Mirror_Y0-Frame_Thick, -Mirror_Thick/2-Frame_Thick>, < Mirror_Width/2+Frame_Thick, Mirror_Y0, Mirror_Thick/2+Frame_Thick> texture { Frame_Tex } } // Top frame bar box { <-Mirror_Width/2-Frame_Thick, Mirror_Y0+Mirror_Height, -Mirror_Thick/2-Frame_Thick>, < Mirror_Width/2+Frame_Thick, Mirror_Y0+Mirror_Height+Frame_Thick, Mirror_Thick/2+Frame_Thick> texture { Frame_Tex } } } rotate <0, RotY, 0> translate Trans } #end // Left mirror (facing inward) MirrorPanel(<-2.15, 0, 0.30>, -91) // Right mirror (facing inward) //MirrorPanel(< 2.15, 0, 0.30>, 91) // Background mirror (behind sculpture) MirrorPanel(<0, 0, 3.05>, 180) // ---------- Central sculpture ---------- #declare OrbRadius = 1.0; // Base orb (frosted glass) sphere { OrbCenter, OrbRadius texture { Orb_Glass_Tex } interior { ior 1.45 } } // Inner luminous core (visual glow) sphere { OrbCenter, OrbRadius*0.78 texture { Orb_Core_Tex } no_shadow } // Ring around the orb // (slightly brushed metal so it catches the orb light) torus { 1.25, 0.08 rotate <90, 0, 0> translate OrbCenter texture { BrushedMetal_Tex } } // Small satellites (ideas) orbiting around the orb #declare SatR = 0.16; #macro Satellite(Pos, Col) sphere { Pos, SatR texture { pigment { color Col } normal { bumps 0.10 scale 0.05 } finish { diffuse 0.25 specular 0.85 roughness 0.02 reflection 0.12 } } } #end Satellite(OrbCenter + < 1.55, 0.25, 0.00>, <1.00, 0.55, 0.60>) Satellite(OrbCenter + <-1.10, -0.10, 1.05>, <0.60, 1.00, 0.70>) Satellite(OrbCenter + < 0.35, 0.85, -1.35>, <0.65, 0.75, 1.00>) Satellite(OrbCenter + <-0.35, 0.95, -0.55>, <1.00, 0.90, 0.55>) // ---------- Pedestal (stacked cylinders) ---------- #declare PedTopY = 0.65; #declare PedBaseY = 0.00; cylinder { <0, PedBaseY, 0>, <0, PedTopY, 0>, 0.95 texture { Stone_Tex } } cylinder { <0, PedTopY, 0>, <0, PedTopY + 0.06, 0>, 1.05 texture { pigment { granite color_map { [0.00 color rgb <0.86, 0.87, 0.90>] [0.50 color rgb <0.92, 0.93, 0.95>] [1.00 color rgb <0.80, 0.81, 0.84>] } scale 0.55 } normal { bumps 0.14 scale 0.16 } finish { diffuse 0.86 specular 0.22 roughness 0.055 reflection 0.05 } } }