// scene090_textured.pov // Texturing + warm soft lighting wrapper for provided scene090.pov // Fix: removed invalid 'shadows' keyword inside light_source blocks. #version 3.7; global_settings { assumed_gamma 1.0 max_trace_level 8 } background { color rgb <0.08, 0.07, 0.06> } // -------------------- Camera (safe default) -------------------- camera { location <0, 3.2, -10.5> look_at <0, 2.1, 0> angle 38 } // -------------------- Warm soft lights -------------------- light_source { <8, 12, -10> color rgb <1.00, 0.86, 0.70>*1.25 area_light <2.2,0,0>, <0,0,2.2>, 4, 4 adaptive 1 jitter circular orient } light_source { <-10, 7, -6> color rgb <1.00, 0.90, 0.78>*0.55 area_light <1.6,0,0>, <0,0,1.6>, 3, 3 adaptive 1 jitter circular orient } // subtle rim (no shadows for speed / separation) light_source { <0, 10, 12> color rgb <1.00, 0.84, 0.70>*0.22 shadowless } // -------------------- Texture Library -------------------- #declare TX_Wood_Light = texture { pigment { wood color_map { [0.00 rgb <0.62,0.42,0.24>] [0.50 rgb <0.52,0.34,0.19>] [1.00 rgb <0.40,0.26,0.14>] } turbulence 0.08 scale 0.35 } finish { diffuse 0.85 specular 0.25 roughness 0.05 } } #declare TX_Wood_Dark = texture { pigment { wood color_map { [0.00 rgb <0.28,0.18,0.10>] [0.55 rgb <0.20,0.13,0.08>] [1.00 rgb <0.13,0.09,0.06>] } turbulence 0.06 scale 0.30 } finish { diffuse 0.9 specular 0.18 roughness 0.06 } } #declare TX_Painted_Red = texture { pigment { color rgb <0.58,0.12,0.10> } normal { bumps 0.20 scale 0.02 } finish { diffuse 0.85 specular 0.20 roughness 0.08 } } #declare TX_Painted_Blue = texture { pigment { color rgb <0.10,0.20,0.55> } normal { bumps 0.18 scale 0.02 } finish { diffuse 0.85 specular 0.18 roughness 0.08 } } #declare TX_Fabric_Curtain = texture { pigment { granite color_map { [0.0 rgb <0.22,0.02,0.02>] [0.6 rgb <0.34,0.03,0.03>] [1.0 rgb <0.14,0.01,0.01>] } scale 0.25 } normal { ripples 0.35 scale 0.12 } finish { diffuse 0.95 specular 0.05 roughness 0.12 } } #declare TX_Metal_Brass = texture { pigment { color rgb <0.78,0.63,0.30> } finish { diffuse 0.25 specular 0.75 roughness 0.03 reflection 0.10 } } #declare TX_Skin_Wooden = texture { pigment { color rgb <0.72,0.55,0.40> } normal { bumps 0.25 scale 0.03 } finish { diffuse 0.85 specular 0.12 roughness 0.10 } } #declare TX_Floor = texture { pigment { checker color rgb <0.16,0.12,0.09>, color rgb <0.12,0.09,0.07> scale 0.65 } finish { diffuse 0.95 specular 0.12 roughness 0.08 } } // -------------------- Stage / Backdrop (non-invasive) -------------------- plane { y, 0 texture { TX_Floor } } plane { z, 18 texture { pigment { color rgb <0.09,0.07,0.06> } finish { diffuse 0.95 } } } // -------------------- Include original scene -------------------- // We keep original geometry intact. // If the original already defines camera/lights/background, POV-Ray will use the last definitions. // This wrapper provides defaults and textures; object-level retexturing is attempted via known IDs. #include "scene090.pov" // -------------------- Optional Retexturing Hooks -------------------- // If your scene090.pov defines any of these identifiers, they can be re-instanced with textures. // Keep wrapped in #ifdef to avoid parse errors if an identifier is missing. // #ifdef (Stage) object { Stage texture { TX_Wood_Dark } } #end // #ifdef (Curtain) object { Curtain texture { TX_Fabric_Curtain } } #end // #ifdef (Crossbar) object { Crossbar texture { TX_Wood_Light } } #end // #ifdef (Strings) object { Strings texture { TX_Metal_Brass } } #end // #ifdef (PuppetBody) object { PuppetBody texture { TX_Skin_Wooden } } #end // #ifdef (PuppetHat) object { PuppetHat texture { TX_Painted_Blue } } #end // #ifdef (PuppetSuit) object { PuppetSuit texture { TX_Painted_Red } } #end // Render hints (fast iteration): // Try: +AM2 +A0.2 +R2