aboutsummaryrefslogtreecommitdiff
path: root/src/client/renderingengine.cpp
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2021-04-28 10:53:36 +0200
committerLoïc Blot <nerzhul@users.noreply.github.com>2021-05-03 19:49:19 +0200
commite0716384d6c7abfa228b039056f1e872ca7bb8cf (patch)
tree78a6393bdbd7f5ea7e6b67d3b62c10595235949d /src/client/renderingengine.cpp
parente34d28af9f4b779b7a137f0e4017e499266e1931 (diff)
downloadhax-minetest-server-e0716384d6c7abfa228b039056f1e872ca7bb8cf.tar.gz
hax-minetest-server-e0716384d6c7abfa228b039056f1e872ca7bb8cf.zip
refacto: add RenderingEngine::cleanupMeshCache
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
Diffstat (limited to 'src/client/renderingengine.cpp')
-rw-r--r--src/client/renderingengine.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/client/renderingengine.cpp b/src/client/renderingengine.cpp
index d2d136a61..970bcf95b 100644
--- a/src/client/renderingengine.cpp
+++ b/src/client/renderingengine.cpp
@@ -225,6 +225,15 @@ bool RenderingEngine::print_video_modes()
return videomode_list != NULL;
}
+void RenderingEngine::cleanupMeshCache()
+{
+ auto mesh_cache = m_device->getSceneManager()->getMeshCache();
+ while (mesh_cache->getMeshCount() != 0) {
+ if (scene::IAnimatedMesh *mesh = mesh_cache->getMeshByIndex(0))
+ m_rendering_engine->get_mesh_cache()->removeMesh(mesh);
+ }
+}
+
bool RenderingEngine::setupTopLevelWindow(const std::string &name)
{
// FIXME: It would make more sense for there to be a switch of some