// Black Sheep - simple fast-iterating scene (single file) #version 3.7; global_settings { assumed_gamma 1.0 } background { color rgb <0.96, 0.97, 1.0> } // Camera camera { location <0, 2.2, -7.5> look_at <0, 1.1, 0> angle 35 } // Warm, soft lights (area lights) light_source { <6, 7, -6> color rgb <1.00, 0.92, 0.80>*1.2 area_light <1.6,0,0>, <0,0,1.6>, 6, 6 adaptive 1 jitter } light_source { <-7, 5, -2> color rgb <1.00, 0.90, 0.78>*0.6 area_light <1.2,0,0>, <0,0,1.2>, 5, 5 adaptive 1 jitter } // Ground plane { y, 0 pigment { color rgb <0.88, 0.89, 0.92> } finish { diffuse 0.85 specular 0.05 roughness 0.08 } } // Simple materials (no textures) #declare Mat_Wool = texture { pigment { color rgb <0.08, 0.08, 0.09> } finish { diffuse 0.9 specular 0.08 roughness 0.12 } }; #declare Mat_Head = texture { pigment { color rgb <0.12, 0.12, 0.13> } finish { diffuse 0.9 specular 0.10 roughness 0.10 } }; #declare Mat_Hoof = texture { pigment { color rgb <0.05, 0.05, 0.055> } finish { diffuse 0.85 specular 0.12 roughness 0.08 } }; #declare Mat_EyeWhite = texture { pigment { color rgb <0.92, 0.92, 0.94> } finish { diffuse 0.85 specular 0.20 roughness 0.04 } }; #declare Mat_EyeBlack = texture { pigment { color rgb <0.03, 0.03, 0.03> } finish { diffuse 0.9 specular 0.15 roughness 0.05 } }; // Sheep model (centered around origin, standing on y=0) union { // Body "wool": overlapping spheres union { sphere { < 0.00, 1.05, 0.00>, 1.05 texture { Mat_Wool } } // core sphere { < 0.80, 1.10, 0.10>, 0.62 texture { Mat_Wool } } sphere { <-0.80, 1.10, 0.10>, 0.62 texture { Mat_Wool } } sphere { < 0.55, 1.55, 0.00>, 0.55 texture { Mat_Wool } } sphere { <-0.55, 1.55, 0.00>, 0.55 texture { Mat_Wool } } sphere { < 0.00, 1.70, 0.25>, 0.55 texture { Mat_Wool } } sphere { < 0.00, 1.45, -0.55>, 0.60 texture { Mat_Wool } } sphere { < 0.75, 0.70, 0.20>, 0.55 texture { Mat_Wool } } sphere { <-0.75, 0.70, 0.20>, 0.55 texture { Mat_Wool } } sphere { < 0.55, 0.80, -0.45>, 0.55 texture { Mat_Wool } } sphere { <-0.55, 0.80, -0.45>, 0.55 texture { Mat_Wool } } } // Head union { // main head sphere { <1.70, 1.10, 0.10>, 0.55 texture { Mat_Head } } // snout (slightly forward) sphere { <2.15, 0.95, 0.10>, 0.35 texture { Mat_Head } } cylinder { <1.95, 0.95, 0.10>, <2.25, 0.95, 0.10>, 0.26 texture { Mat_Head } } // ears (aligned to head sides) sphere { <1.55, 1.35, 0.55>, 0.18 texture { Mat_Head } } cylinder { <1.55, 1.35, 0.45>, <1.25, 1.25, 0.90>, 0.12 texture { Mat_Head } } sphere { <1.55, 1.35, -0.35>, 0.18 texture { Mat_Head } } cylinder { <1.55, 1.35, -0.25>, <1.25, 1.25, -0.70>, 0.12 texture { Mat_Head } } // eyes sphere { <1.88, 1.22, 0.28>, 0.10 texture { Mat_EyeWhite } } sphere { <1.92, 1.20, 0.32>, 0.05 texture { Mat_EyeBlack } } sphere { <1.88, 1.22, -0.08>, 0.10 texture { Mat_EyeWhite } } sphere { <1.92, 1.20, -0.12>, 0.05 texture { Mat_EyeBlack } } } // Legs (cylinders) + hooves (spheres) union { // front right cylinder { <0.65, 0.90, 0.35>, <0.65, 0.18, 0.35>, 0.13 texture { Mat_Head } } sphere { <0.65, 0.13, 0.35>, 0.15 texture { Mat_Hoof } } // front left cylinder { <0.65, 0.90, -0.15>, <0.65, 0.18, -0.15>, 0.13 texture { Mat_Head } } sphere { <0.65, 0.13, -0.15>, 0.15 texture { Mat_Hoof } } // back right cylinder { <-0.55, 0.90, 0.35>, <-0.55, 0.18, 0.35>, 0.13 texture { Mat_Head } } sphere { <-0.55, 0.13, 0.35>, 0.15 texture { Mat_Hoof } } // back left cylinder { <-0.55, 0.90, -0.15>, <-0.55, 0.18, -0.15>, 0.13 texture { Mat_Head } } sphere { <-0.55, 0.13, -0.15>, 0.15 texture { Mat_Hoof } } } // Tail (small puff at back) sphere { <-1.05, 1.15, 0.10>, 0.28 texture { Mat_Wool } } // Ensure on ground: lowest hoof sphere touches y=0 (hoof center at 0.13, radius 0.15 => bottom at -0.02) // Lift whole sheep slightly so hooves sit exactly on ground. translate <0, 0.02, 0> }