10 lines
1.5 KiB
Markdown
10 lines
1.5 KiB
Markdown
# Building exterior lighting
|
|
|
|
User choice: replace night window patterns with lighting on facades and surrounding ground, not whole-building emission. Reuse the existing static light-spill texture and solar-altitude fade. Keep building footprints, heights, terrain, and sun/shadow behavior unchanged.
|
|
|
|
Implementation: remove the four-component buildingWindow attribute and random window shader. Retain one scalar facade height per vertex; use normals to reject horizontal surfaces and fade illumination above the existing 24m limit. Unlit building types receive a fully faded value. Reuse the same texture on terrain and facades. Remove constants used only by windows. No new dependencies.
|
|
|
|
Verification: update the existing night/dawn/day/reverse-time test to verify spill intensity and non-emitting materials, assert the old window buffer is absent and total geometry bytes are reduced. Run tests/build and inspect daytime and nighttime in browser, including shader errors. Record actual geometry memory before/after; do not claim measured FPS improvement without a benchmark.
|
|
|
|
Completed: 43 tests passed and production build passed (existing bundle-size warning). Independent static review found no actionable issues. Browser checks at midnight and noon rendered successfully with no console errors; night lighting remains subtle at city-overview distance. Actual geometry buffers: 21,382,272 → 16,036,704 bytes (25% reduction); lighting attribute: 7,127,424 → 1,781,856 bytes. Mesh and triangle counts are unchanged. No FPS improvement claim or indexing changes.
|