#version 3.7; global_settings { assumed_gamma 1.3 max_trace_level 16 radiosity { pretrace_start 0.08 pretrace_end 0.01 count 200 nearest_count 10 error_bound 0.5 recursion_limit 2 low_error_factor 0.5 gray_threshold 0.0 } } background { color rgb <0.92, 0.55, 0.38> } camera { location <0, 1.75, -5.2> look_at <0, 1.25, 0> angle 40 up <0,9,0> right <16,0,0> // right,up -> 16:9 } light_source { <3.5, 5.5, -4.5> color rgb <1.00, 0.83, 0.65>*1.2 area_light <1.2,0,0>, <0,0,1.2>, 5, 5 adaptive 1 jitter } light_source { <-4.0, 4.0, -2.5> color rgb <1.00, 0.78, 0.60>*0.65 area_light <1.0,0,0>, <0,0,1.0>, 4, 4 adaptive 1 jitter } light_source { <0.0, 6.5, 2.0> color rgb <1.00, 0.85, 0.70>*0.35 area_light <1.6,0,0>, <0,0,1.6>, 5, 5 adaptive 1 jitter } plane { y, 0 pigment { color rgb <0.20,0.13,0.11> } finish { diffuse 0.85 specular 0.08 roughness 0.06 } } // ---------------- Materials (simple shading, no image textures) ---------------- #declare Mat_Body = texture { pigment { color rgb <0.18, 0.12, 0.11> } finish { diffuse 0.9 specular 0.15 roughness 0.08 } } #declare Mat_Dark = texture { pigment { color rgb <0.03, 0.02, 0.02> } finish { diffuse 0.9 specular 0.0 roughness 0.2 } } #declare Mat_Glow = texture { pigment { color rgb <1.00, 0.55, 0.25> } finish { diffuse 0.2 emission 1.7 specular 0 roughness 0.2 } } #declare Mat_EyeGlow = texture { pigment { color rgb <1.00, 0.95, 0.55> } finish { diffuse 0.15 emission 2.2 specular 0 roughness 0.2 } } // ---------------- Golem Body (use 'blob' to avoid metaball parse issues) ---------------- #declare Golem_Blob = blob { threshold 0.62 // torso / head sphere { <0.00, 1.20, 0.00>, 1.05, 1.15 } sphere { <0.00, 2.35, 0.05>, 0.78, 1.00 } // shoulders sphere { <-1.00, 1.80, 0.00>, 0.60, 0.95 } sphere { < 1.00, 1.80, 0.00>, 0.60, 0.95 } // arms (rounded, hanging) sphere { <-1.35, 1.30, 0.10>, 0.55, 0.95 } sphere { <-1.25, 0.85, 0.05>, 0.50, 0.95 } sphere { < 1.35, 1.30, 0.10>, 0.55, 0.95 } sphere { < 1.25, 0.85, 0.05>, 0.50, 0.95 } // legs (stumpy) sphere { <-0.40, 0.45, 0.00>, 0.62, 1.10 } sphere { < 0.40, 0.45, 0.00>, 0.62, 1.10 } sphere { <-0.35, 0.15, 0.05>, 0.58, 1.10 } sphere { < 0.35, 0.15, 0.05>, 0.58, 1.10 } texture { Mat_Body } } // ---------------- Scars / Dents (used as cutters) ---------------- #declare Chest_Crack = union { // Jagged wedge-like opening (built from prisms) prism { linear_sweep linear_spline -0.55, 0.55, 7, <-0.05, -0.85>, <0.25, -0.55>, <-0.05, -0.25>, <0.22, 0.05>, <-0.10, 0.30>, <0.20, 0.60>, <-0.10, 0.85> scale <0.85, 0.95, 0.80> translate <0.05, 1.35, -0.35> } prism { linear_sweep linear_spline -0.55, 0.55, 6, <0.05, -0.80>, <0.30, -0.40>, <0.05, -0.10>, <0.28, 0.20>, <0.00, 0.55>, <0.15, 0.85> rotate <0,0,6> scale <0.85, 0.95, 0.80> translate <-0.08, 1.35, -0.35> } } #declare Back_Scar = union { // long groove on the back (scar impression) cylinder { <0, 1.95, 0.55>, <0, 1.05, 0.55>, 0.18 } cylinder { <-0.18, 1.75, 0.56>, <-0.18, 1.15, 0.56>, 0.10 } cylinder { <0.18, 1.70, 0.56>, <0.18, 1.20, 0.56>, 0.11 } rotate <3,0,0> } #declare Face_Dents = union { // nose-ish dent sphere { <0.00, 2.30, -0.55>, 0.13 } // mouth notch cylinder { <-0.20, 2.12, -0.62>, <0.20, 2.12, -0.62>, 0.07 } // a few small pits sphere { <0.35, 2.25, -0.53>, 0.08 } sphere { <-0.32, 2.28, -0.50>, 0.06 } } // ---------------- Inner light / eyes ---------------- #declare Inner_Core = union { // emissive core visible through chest crack sphere { <0.00, 1.35, -0.05>, 0.55 texture { Mat_Glow } } sphere { <0.00, 1.60, 0.05>, 0.40 texture { Mat_Glow } } // a dimmer spill volume inside body sphere { <0.00, 1.20, 0.10>, 0.75 texture { pigment { color rgb <1.00, 0.50, 0.20>*0.35 } finish { diffuse 0.1 emission 0.55 specular 0 roughness 0.2 } } } } #declare Eye_Lights = union { sphere { <-0.18, 2.42, -0.60>, 0.06 texture { Mat_EyeGlow } } sphere { < 0.18, 2.42, -0.60>, 0.06 texture { Mat_EyeGlow } } // subtle actual light sources at the eyes for sparkle light_source { <-0.18, 2.42, -0.60> color rgb <1.00, 0.95, 0.60>*0.35 } light_source { < 0.18, 2.42, -0.60> color rgb <1.00, 0.95, 0.60>*0.35 } } // ---------------- Final assembly ---------------- union { difference { object { Golem_Blob } // carve front crack opening object { Chest_Crack } // carve back scar groove object { Back_Scar } // facial dents object { Face_Dents } } // inner glowing core (inside the carved cavity) object { Inner_Core } // dark interior surfaces at openings object { Chest_Crack texture { Mat_Dark } } object { Back_Scar texture { Mat_Dark } } object { Face_Dents texture { Mat_Dark } } // glowing eyes object { Eye_Lights } translate <0, 0, 0> }