mirror of
https://github.com/OpenMW/openmw.git
synced 2025-10-26 21:26:37 +00:00
This PR aims to solve all issues with `Groundcover` view distance handling in a satisfying way while preserving other optimisations that benefit other features. The main idea here is not to rely on `ViewData` updates for distance culling calculations because we can not accurately determine distance against lazily updated views. Instead, we perform an accurate measurement in a cull callback we can run every frame in `Groundcover` itself. While we do have to add some code to handle this feature, it is quite loosely coupled code that could be useful elsewhere in the future. These changes should address a performance regression @akortunov experienced. |
||
|---|---|---|
| .. | ||
| buffercache.cpp | ||
| buffercache.hpp | ||
| cellborder.cpp | ||
| cellborder.hpp | ||
| chunkmanager.cpp | ||
| chunkmanager.hpp | ||
| compositemaprenderer.cpp | ||
| compositemaprenderer.hpp | ||
| defs.hpp | ||
| material.cpp | ||
| material.hpp | ||
| quadtreenode.cpp | ||
| quadtreenode.hpp | ||
| quadtreeworld.cpp | ||
| quadtreeworld.hpp | ||
| storage.hpp | ||
| terraindrawable.cpp | ||
| terraindrawable.hpp | ||
| terraingrid.cpp | ||
| terraingrid.hpp | ||
| texturemanager.cpp | ||
| texturemanager.hpp | ||
| viewdata.cpp | ||
| viewdata.hpp | ||
| world.cpp | ||
| world.hpp | ||