#version 3.7; global_settings { assumed_gamma 1.0 max_trace_level 8 } background { color rgb <0.92, 0.94, 0.98> } camera { location <3.4, 1.9, -6.2> look_at <0.2, 1.05, 0.3> angle 35 } light_source { <6, 8, -8> color rgb <1.0, 1.0, 1.0> } light_source { <-6, 4, -2> color rgb <0.45, 0.5, 0.6> shadowless } light_source { <0, 10, 6> color rgb <0.25, 0.25, 0.25> } plane { y, 0 texture { pigment { color rgb <0.86, 0.87, 0.90> } finish { diffuse 0.85 specular 0.05 roughness 0.08 } } } #declare MeshLike_Normal = normal { average normal_map { [1.0 bumps 0.35 scale 0.08] [1.0 wrinkles 0.20 scale 0.18] } } #declare BlackHorse_Finish = finish { diffuse 0.65 specular 0.35 roughness 0.03 reflection 0.06 ambient 0.0 } #declare BlackHorse_Texture = texture { pigment { color rgb <0.03, 0.03, 0.035> } normal { MeshLike_Normal } finish { BlackHorse_Finish } } #declare Horse = union { // Main body (torso + chest + rump) blob { threshold 0.65 sphere { <0.0, 1.15, 0.0>, 0.70, 1.2 } sphere { <-0.65, 1.20, 0.15>, 0.55, 1.1 } // chest sphere { <0.80, 1.20, -0.05>, 0.58, 1.1 } // rump sphere { <0.20, 1.65, -0.15>, 0.38, 0.9 } // withers texture { BlackHorse_Texture } } // Neck blob { threshold 0.65 sphere { <-0.85, 1.55, 0.25>, 0.35, 1.0 } sphere { <-1.20, 1.85, 0.45>, 0.30, 1.0 } sphere { <-1.50, 2.05, 0.62>, 0.26, 1.0 } texture { BlackHorse_Texture } } // Head blob { threshold 0.65 sphere { <-1.80, 2.10, 0.78>, 0.22, 1.0 } // skull sphere { <-2.05, 2.05, 0.92>, 0.18, 1.0 } // muzzle sphere { <-1.85, 2.26, 0.72>, 0.12, 0.8 } // forehead texture { BlackHorse_Texture } } // Ears (simple cones) cone { <-1.72, 2.33, 0.66>, 0.05, <-1.66, 2.48, 0.62>, 0.00 texture { BlackHorse_Texture } } cone { <-1.82, 2.32, 0.76>, 0.05, <-1.77, 2.48, 0.78>, 0.00 texture { BlackHorse_Texture } } // Legs (4), made from cylinders + small blobs at joints #macro Leg(BaseX, BaseZ, Forward, Lean) union { cylinder { , , 0.11 } cylinder { , , 0.10 } sphere { , 0.13 } sphere { , 0.12 } sphere { , 0.11 } texture { BlackHorse_Texture } } #end object { Leg(-0.40, 0.28, 0.08, -0.05) } // front left object { Leg(-0.40,-0.18, -0.04, -0.03) } // front right object { Leg( 0.65, 0.22, -0.02, 0.03) } // back left object { Leg( 0.65,-0.20, 0.06, 0.05) } // back right // Tail blob { threshold 0.65 sphere { <1.15, 1.35, -0.05>, 0.18, 0.9 } sphere { <1.45, 1.15, -0.10>, 0.16, 0.9 } sphere { <1.70, 0.95, -0.18>, 0.14, 0.9 } sphere { <1.85, 0.75, -0.28>, 0.12, 0.9 } texture { BlackHorse_Texture } } // Subtle mane ridge blob { threshold 0.7 sphere { <-0.85, 1.70, 0.25>, 0.12, 0.7 } sphere { <-1.10, 1.92, 0.42>, 0.11, 0.7 } sphere { <-1.35, 2.05, 0.58>, 0.10, 0.7 } texture { BlackHorse_Texture } } // Pose/orientation rotate <0, 15, 0> translate <0, 0, 0> } object { Horse } // Simple contact darkening under horse (fake shadow pad for speed) disc { <0.15, 0.001, 0.10>, y, 1.25, 0.0 texture { pigment { color rgbt <0.0, 0.0, 0.0, 0.75> } finish { ambient 1 diffuse 0 } } scale <1.2, 1.0, 0.7> rotate <0, 15, 0> }