Kelsidavis-WoWee/src/rendering
Kelsi d47ae2a110 Fix city stuttering with incremental tile finalization and GPU optimizations
Replace monolithic finalizeTile() with a phased state machine that spreads
GPU upload work across multiple frames (TERRAIN→M2→WMO→WATER→AMBIENT→DONE).
Each advanceFinalization() call does one bounded unit of work within the
per-frame time budget, eliminating 50-300ms frame hitches when entering cities.

Additional performance improvements:
- Pre-allocate bone SSBOs at M2 instance creation instead of lazily during
  first render frame, preventing hitches when many skinned characters appear
- Enable WMO distance culling (800 units) with active-group exemption so
  the player's current floor/neighbors are never culled
- Add 4-tier adaptive M2 render distance (250/400/600/1000 based on count)
- Remove dead PendingM2Upload queue code superseded by incremental system

Fix tile re-enqueueing bug: keep tiles in pendingTiles until committed to
loadedTiles (not when moved to finalizingTiles_) so streamTiles() doesn't
re-enqueue tiles mid-finalization. Also handle unloadTile() for tiles in
the finalizingTiles_ deque to prevent orphaned water/M2/WMO resources.
2026-02-25 02:36:23 -08:00
..
camera.cpp Work on character rendering and frustrum culling etc 2026-02-22 05:58:45 -08:00
camera_controller.cpp Prevent player snapping to WMO roofs when jumping inside buildings 2026-02-23 11:03:18 -08:00
celestial.cpp Fix visible square behind sun by switching celestial to additive blending 2026-02-23 07:40:51 -08:00
character_preview.cpp Fix character preview facing and add 4x MSAA to preview render target 2026-02-23 10:48:26 -08:00
character_renderer.cpp Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
charge_effect.cpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
clouds.cpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
frustum.cpp Work on character rendering and frustrum culling etc 2026-02-22 05:58:45 -08:00
lens_flare.cpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
levelup_effect.cpp Add 3D level-up effect using LevelUp.m2 spell model 2026-02-19 20:36:25 -08:00
lighting_manager.cpp Add multi-expansion support with data-driven protocol layer 2026-02-12 22:56:36 -08:00
lightning.cpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
loading_screen.cpp Fix voice gender using server data and update loading screen UI 2026-02-23 06:22:30 -08:00
m2_renderer.cpp Fix city stuttering with incremental tile finalization and GPU optimizations 2026-02-25 02:36:23 -08:00
material.cpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
mesh.cpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
minimap.cpp Fix sun quad visibility, minimap opacity, audio scaling, and rename music toggle 2026-02-23 08:01:20 -08:00
mount_dust.cpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
performance_hud.cpp Work on character rendering and frustrum culling etc 2026-02-22 05:58:45 -08:00
quest_marker_renderer.cpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
renderer.cpp Make shadows follow player movement continuously 2026-02-23 08:47:38 -08:00
scene.cpp Optimize release builds: LTO, -O3, visibility, micro-perf fixes 2026-02-18 20:10:47 -08:00
shader.cpp Performance optimizations and collision improvements 2026-02-02 23:03:45 -08:00
sky_system.cpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
skybox.cpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
starfield.cpp Add configurable MSAA anti-aliasing, update auth screen and terrain shader 2026-02-22 02:59:24 -08:00
swim_effects.cpp Fix foot splash particles being cleared immediately when wading 2026-02-23 07:37:01 -08:00
terrain_manager.cpp Fix city stuttering with incremental tile finalization and GPU optimizations 2026-02-25 02:36:23 -08:00
terrain_renderer.cpp Allow texture load retries instead of permanently caching failures 2026-02-23 06:51:06 -08:00
texture.cpp Add centralized anisotropic filtering, fog, and Blinn-Phong specular to all renderers 2026-02-04 15:05:46 -08:00
video_player.cpp Play looping MP4 behind auth screen 2026-02-05 15:34:29 -08:00
vk_buffer.cpp Vulcan Nightmare 2026-02-21 22:04:17 -08:00
vk_context.cpp Stabilize Vulkan rendering state for minimap, foliage, and water 2026-02-22 09:34:27 -08:00
vk_pipeline.cpp Add player water ripples and separate 1x water pass for MSAA compatibility 2026-02-22 22:34:48 -08:00
vk_render_target.cpp Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
vk_shader.cpp Vulcan Nightmare 2026-02-21 22:04:17 -08:00
vk_texture.cpp Stabilize Vulkan shadow pipeline diagnostics and compatibility path 2026-02-22 10:25:33 -08:00
vk_utils.cpp Vulcan Nightmare 2026-02-21 22:04:17 -08:00
water_renderer.cpp Add water footstep splashes and reduce lake wave amplitude 2026-02-23 06:58:46 -08:00
weather.cpp Enhanced sky atmosphere with DBC-driven colors, sun lighting, and zone weather 2026-02-22 23:20:13 -08:00
wmo_renderer.cpp Fix city stuttering with incremental tile finalization and GPU optimizations 2026-02-25 02:36:23 -08:00
world_map.cpp Vulcan Nightmare 2026-02-21 22:04:17 -08:00