#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.96,0.93,0.92> } camera { location <0, 3.3, -10.8> look_at <0, 2.5, 0> angle 40 up <0,9,0> right <16,0,0> // right,up -> 16:9 } light_source { <-6, 10, -10> color rgb <1.00,0.85,0.70>*1.15 area_light <3.2,0,0>, <0,0,3.2>, 6, 6 adaptive 1 jitter } light_source { <7, 7.5, -7> color rgb <1.00,0.88,0.75>*0.65 area_light <2.2,0,0>, <0,0,2.2>, 5, 5 adaptive 1 jitter } light_source { <0, 8, -2> color rgb <1.00,0.90,0.80>*0.35 } #declare ClayPigment = pigment { color rgb <0.46,0.40,0.35> }; #declare ClayFinish = finish { diffuse 0.85 specular 0.10 roughness 0.08 }; #declare ClayTex = texture { ClayPigment normal { bumps 0.20 scale 0.12 } finish { ClayFinish } }; #declare DarkCavityTex = texture { pigment { color rgb <0.08,0.06,0.05> } finish { diffuse 0.9 specular 0.02 roughness 0.2 } }; #declare FloorTex = texture { pigment { color rgb <0.92,0.89,0.88> } finish { diffuse 0.9 specular 0.02 roughness 0.2 } }; plane { y, 0 texture { FloorTex } } #declare Golem = difference { union { // Main mass (torso+head) sphere { <0, 2.75, 0>, 1.95 scale <1.15,1.00,0.95> } // Lower torso bulk sphere { <0, 1.85, 0>, 1.55 scale <1.20,1.00,0.95> } // Shoulder humps (make silhouette wide like the reference) sphere { <-1.55, 2.75, 0>, 1.35 scale <1.05,0.85,0.95> } sphere { < 1.55, 2.75, 0>, 1.35 scale <1.05,0.85,0.95> } // Legs (two rounded blocks) sphere { <-0.60, 0.80, 0>, 0.95 scale <0.95,1.10,0.95> } sphere { < 0.60, 0.80, 0>, 0.95 scale <0.95,1.10,0.95> } cylinder { <-0.05,0.10,0>, <0.05,0.10,0>, 1.10 } // subtle merge at bottom // Arms (bulky) sphere { <-1.65, 2.10, 0>, 0.95 scale <1.10,0.95,0.95> } sphere { < 1.65, 2.10, 0>, 0.95 scale <1.10,0.95,0.95> } cylinder { <-1.25,2.20,0>, <-0.65,1.85,0.15>, 0.70 } cylinder { < 1.25,2.20,0>, < 0.65,1.85,0.15>, 0.70 } // Forearms toward center (to "hold" tablet) cylinder { <-0.90,1.95,0.10>, <-0.20,1.85,0.25>, 0.58 } cylinder { < 0.90,1.95,0.10>, < 0.20,1.85,0.25>, 0.58 } // Hands (simple mitten shapes) sphere { <-0.35, 1.72, 0.33>, 0.52 scale <1.05,0.75,0.85> } sphere { < 0.35, 1.72, 0.33>, 0.52 scale <1.05,0.75,0.85> } // Finger grooves (raised bumps; fast and simple) sphere { <-0.55,1.68,0.62>, 0.12 } sphere { <-0.40,1.68,0.65>, 0.12 } sphere { <-0.25,1.68,0.63>, 0.12 } sphere { < 0.55,1.68,0.62>, 0.12 } sphere { < 0.40,1.68,0.65>, 0.12 } sphere { < 0.25,1.68,0.63>, 0.12 } } // Flatten the back slightly (sculpt-like) plane { z, -0.85 inverse } // Carve separations between legs box { <-0.10, 0.05, -1.2>, <0.10, 1.55, 1.2> rotate <0,0,0> } // Face: triangular eyes (cut-outs) prism { linear_sweep linear_spline -1.0, 1.0, 4, <0,0>, <0.35,0>, <0.0,0.35>, <0,0> rotate <0,0,0> scale <1,1,1> translate <-0.35, 2.95, -1.55> rotate <0,180,0> } prism { linear_sweep linear_spline -1.0, 1.0, 4, <0,0>, <0.35,0>, <0.0,0.35>, <0,0> translate <0.35, 2.95, -1.55> rotate <0,180,0> } // Mouth slit (angled) box { <-0.65, 2.65, -2.2>, <0.65, 2.82, -1.10> rotate <0,0,7> } // Forehead dot indentation cylinder { <0, 3.35, -1.55>, <0, 3.35, -1.10>, 0.16 } // Chest cavity (big triangular-ish opening) prism { linear_sweep linear_spline -0.9, 0.9, 5, <0.0, 0.0>, <0.75, 0.1>, <0.35, 1.1>, <-0.35, 1.1>, <-0.75, 0.1> scale <1,1,1> translate <0, 1.85, -1.10> rotate <0,180,0> } // Inner "tablet slot" hollow behind cavity box { <-0.55, 1.75, -1.40>, <0.55, 3.00, 0.20> } } #declare Tablet = union { // Main slab held in front box { <-0.55, 1.55, 0.18>, <0.45, 2.75, 0.55> } // Small round mark on tablet cylinder { <0.25, 2.35, 0.56>, <0.25, 2.35, 0.62>, 0.10 } } object { Golem texture { ClayTex } translate <0,0,0> } // Make cavities read darker by adding a dark object just inside (fast cheat) difference { box { <-1.2, 1.35, -1.6>, <1.2, 3.6, 0.3> } object { Golem } texture { DarkCavityTex } } // Tablet (slightly lighter clay) object { Tablet texture { pigment { color rgb <0.54,0.48,0.42> } normal { bumps 0.12 scale 0.10 } finish { diffuse 0.85 specular 0.08 roughness 0.10 } } } // Ground contact: tiny flatten so it sits precisely on plane difference { object { Golem } plane { y, 0.02 } texture { ClayTex } translate <0,0,0> }