// Simple Noah's Ark - single file scene (corrected) #version 3.7; global_settings { assumed_gamma 1.0 max_trace_level 8 } background { color rgb <0.78, 0.88, 1.00> } // soft sky camera { location <0, 6.5, -18> look_at <0, 2.6, 0> angle 40 } // Warm, soft lights (area lights) light_source { <20, 25, -25> color rgb <1.00, 0.88, 0.75>*1.05 area_light <6,0,0>, <0,0,6>, 6, 6 adaptive 1 jitter } light_source { <-18, 18, -10> color rgb <1.00, 0.90, 0.80>*0.55 area_light <5,0,0>, <0,0,5>, 5, 5 adaptive 1 jitter } // Ground / ocean plane { y, 0 pigment { color rgb <0.16, 0.36, 0.55> } finish { diffuse 0.9 specular 0.08 roughness 0.08 } } // ------------------------------------------------------------------ // Materials (simple shading, no image textures) #declare WoodPig = pigment { color rgb <0.62, 0.43, 0.25> }; #declare WoodFin = finish { diffuse 0.85 specular 0.08 roughness 0.10 }; #declare DeckPig = pigment { color rgb <0.68, 0.48, 0.28> }; #declare DeckFin = finish { diffuse 0.85 specular 0.06 roughness 0.12 }; #declare CabinPig = pigment { color rgb <0.70, 0.55, 0.35> }; #declare CabinFin = finish { diffuse 0.88 specular 0.06 roughness 0.12 }; #declare RoofPig = pigment { color rgb <0.35, 0.20, 0.12> }; #declare RoofFin = finish { diffuse 0.9 specular 0.05 roughness 0.15 }; #declare WindowPig = pigment { color rgb <0.10, 0.10, 0.12> }; #declare WindowFin = finish { diffuse 0.9 specular 0.02 roughness 0.20 }; // ------------------------------------------------------------------ // Ark dimensions #declare L = 14.0; // length #declare W = 4.6; // width #declare H = 2.4; // hull height above waterline #declare BowX = L/2; #declare SternX = -L/2; #declare HullY0 = 0.45; // hull bottom slightly above ocean #declare HullY1 = HullY0 + H; // Hull: central box clipped by a rounded cylinder to soften bottom, // plus bow/stern end-caps as cylinders. All aligned precisely. #declare Hull = union { // Main body block with curved bottom intersection { box { , } // Clip to a gentle curve (rounds bottom) cylinder { <0, HullY0-2.4, 0>, <1, HullY0-2.4, 0>, 3.2 scale } } // Bow cap cylinder { , , W/2 } // Stern cap cylinder { , , W/2 } // Slightly raised deck lip (simple rim) box { , } pigment { WoodPig } finish { WoodFin } }; // Deck (FIXED: remove nested pigment block) #declare Deck = box { , pigment { DeckPig } finish { DeckFin } }; // Cabin (simple centered house) #declare CabinW = 2.2; #declare CabinL = 4.2; #declare CabinH = 1.55; #declare CabinBaseY = HullY1+0.12; #declare Cabin = union { box { <-CabinL/2, CabinBaseY, -CabinW/2>, < CabinL/2, CabinBaseY + CabinH, CabinW/2> pigment { CabinPig } finish { CabinFin } } // Roof (simple gable using a prism) prism { linear_sweep linear_spline CabinBaseY + CabinH, CabinBaseY + CabinH + 0.75, 5, <-CabinL/2-0.1, -CabinW/2-0.05>, <-CabinL/2-0.1, CabinW/2+0.05>, < 0, 0>, < CabinL/2+0.1, CabinW/2+0.05>, < CabinL/2+0.1, -CabinW/2-0.05> rotate <0,90,0> // align prism's 2D profile across Z pigment { RoofPig } finish { RoofFin } } }; // Simple windows/door as dark rectangles #declare CabinDetails = union { // Front door (toward +X) box { < CabinL/2-0.05, CabinBaseY, -0.35>, < CabinL/2+0.001, CabinBaseY + 0.95, 0.35> pigment { WindowPig } finish { WindowFin } } // Side windows (+Z side) box { < -0.6, CabinBaseY + 0.53, CabinW/2-0.001>, < 0.6, CabinBaseY + 0.93, CabinW/2+0.05> pigment { WindowPig } finish { WindowFin } } // Side windows (-Z side) box { < -0.6, CabinBaseY + 0.53, -CabinW/2-0.05>, < 0.6, CabinBaseY + 0.93, -CabinW/2+0.001> pigment { WindowPig } finish { WindowFin } } }; // ------------------------------------------------------------------ // Assemble scene union { object { Hull } object { Deck } object { Cabin } object { CabinDetails } // keep at intended "float" height translate <0, 0.0, 0> } // Subtle waterline helper (optional, fast) sphere { <0, 0.02, 0>, 0.01 pigment { color rgbt <1,1,1,1> } no_shadow }