diff --git a/modules/globebrowsing/src/renderableglobe.cpp b/modules/globebrowsing/src/renderableglobe.cpp index 4cf67df702..86ef86bd2e 100644 --- a/modules/globebrowsing/src/renderableglobe.cpp +++ b/modules/globebrowsing/src/renderableglobe.cpp @@ -923,21 +923,6 @@ void RenderableGlobe::update(const UpdateData& data) { _shadowComponent.update(data); } - _layerManager.update(); - - if (_nLayersIsDirty) { - std::array lgs = - _layerManager.layerGroups(); - _generalProperties.nActiveLayers = std::accumulate( - lgs.begin(), - lgs.end(), - 0, - [](int lhs, LayerGroup* lg) { - return lhs + static_cast(lg->activeLayers().size()); - } - ); - _nLayersIsDirty = false; - } } bool RenderableGlobe::renderedWithDesiredData() const { @@ -970,6 +955,22 @@ void RenderableGlobe::renderChunks(const RenderData& data, RendererTasks&, { ZoneScoped + _layerManager.update(); + + if (_nLayersIsDirty) { + std::array lgs = + _layerManager.layerGroups(); + _generalProperties.nActiveLayers = std::accumulate( + lgs.begin(), + lgs.end(), + 0, + [](int lhs, LayerGroup* lg) { + return lhs + static_cast(lg->activeLayers().size()); + } + ); + _nLayersIsDirty = false; + } + if (_shadersNeedRecompilation) { recompileShaders(); }