// scene130.pov - textured countryside morning version // Notes: simple pigments/finishes only; warm soft sunlight; sheep kept black. #version 3.7; global_settings { assumed_gamma 1.0 max_trace_level 6 } // -------------------- Camera -------------------- camera { location <0, 6.5, -16> look_at <0, 2.0, 0> angle 40 } // -------------------- Background / Sky -------------------- sky_sphere { pigment { gradient y color_map { [0.00 rgb <0.80, 0.88, 1.00>] [0.35 rgb <0.55, 0.72, 1.00>] [0.70 rgb <0.96, 0.92, 0.82>] [1.00 rgb <1.00, 0.95, 0.85>] } } } // Light morning haze fog { fog_type 2 distance 90 color rgb <0.95, 0.93, 0.90> fog_alt 2.0 fog_offset 0.5 turbulence 0.8 } // -------------------- Lights (warm + soft shadows) -------------------- light_source { <120, 80, -120> color rgb <1.00, 0.88, 0.72> * 1.25 area_light <10,0,0>, <0,0,10>, 6, 6 adaptive 1 jitter } light_source { <-60, 40, -30> color rgb <0.72, 0.82, 1.00> * 0.35 area_light <6,0,0>, <0,0,6>, 4, 4 adaptive 1 jitter } // -------------------- Simple finishes -------------------- #declare FIN_Matte = finish { diffuse 0.85 ambient 0.02 specular 0.05 roughness 0.08 } #declare FIN_Dull = finish { diffuse 0.80 ambient 0.02 specular 0.10 roughness 0.06 } #declare FIN_Wood = finish { diffuse 0.80 ambient 0.02 specular 0.08 roughness 0.07 } #declare FIN_Stone = finish { diffuse 0.82 ambient 0.02 specular 0.06 roughness 0.10 } #declare FIN_SheepBk = finish { diffuse 0.85 ambient 0.00 specular 0.02 roughness 0.10 } // -------------------- Countryside materials (simple pigments) -------------------- #declare MAT_Grass = texture { pigment { color rgb <0.32, 0.55, 0.26> } finish { FIN_Matte } } #declare MAT_Dirt = texture { pigment { color rgb <0.48, 0.38, 0.26> } finish { FIN_Matte } } #declare MAT_Wood = texture { pigment { color rgb <0.52, 0.36, 0.20> } finish { FIN_Wood } } #declare MAT_Stone = texture { pigment { color rgb <0.62, 0.62, 0.60> } finish { FIN_Stone } } #declare MAT_Sheep = texture { pigment { color rgb <0.02, 0.02, 0.02> } finish { FIN_SheepBk } } // -------------------- Default fallback -------------------- #default { texture { pigment { color rgb <0.75,0.75,0.75> } finish { FIN_Dull } } } // -------------------- Ground plane (countryside) -------------------- plane { y, 0 texture { MAT_Grass } } // A dirt path for variation (kept simple; fast render) difference { box { <-2.2, -0.01, -18>, <2.2, 0.02, 18> } box { <-1.6, -0.05, -18>, <1.6, 0.06, 18> } texture { MAT_Grass } } box { <-1.6, -0.005, -18>, <1.6, 0.001, 18> texture { MAT_Dirt } } // -------------------- Include the user scene and "texture" it -------------------- // If scene130.pov already contains camera/lights/background, this file intentionally // overrides them by defining ours first and then applying materials by wrapping. #ifndef (SCENE130_INCLUDED) #declare SCENE130_INCLUDED = 1; #end // --- Attempt to include original geometry --- // The original file is expected to define objects; if it also defines camera/lights, // POV-Ray will use the last definitions encountered. Keep this include at the end // so our camera/lights remain active only if scene130.pov does not redefine them. // If it *does* redefine, move the include earlier. #include "scene130.pov" // -------------------- Material overrides (non-destructive wrappers) -------------------- // If the original scene uses named objects, you can wrap them here. // Placeholders below: keep as examples; safe even if unused. // Example: fences/wood props #declare _ApplyWood = texture { MAT_Wood }; #declare _ApplyStone = texture { MAT_Stone }; // Sheep must remain black; if the original scene has a declared sheep object, // re-instance it here with black material. If it doesn't, this has no effect. #ifdef (Sheep) object { Sheep texture { MAT_Sheep } } #end // If there are multiple sheep objects with different names, add them similarly: // #ifdef (Sheep1) object{Sheep1 texture{MAT_Sheep}} #end // #ifdef (Sheep2) object{Sheep2 texture{MAT_Sheep}} #end