From 89b8ffa013c10db57be14fbdd59757c08c243e18 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 23 Feb 2026 17:35:48 +0000 Subject: Tidy the preFrame logic into a single function in SceneRenderer Clients now just call that one helper and SceneProvider passes in all the renderables. --- gfx/gl/sceneRenderer.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'gfx/gl/sceneRenderer.cpp') diff --git a/gfx/gl/sceneRenderer.cpp b/gfx/gl/sceneRenderer.cpp index d005dfa..c1ec987 100644 --- a/gfx/gl/sceneRenderer.cpp +++ b/gfx/gl/sceneRenderer.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include static constexpr const std::array displayVAOdata {{ @@ -77,10 +78,14 @@ SceneRenderer::resize(ScreenAbsCoord newSize) shader.setViewPort({0, 0, size.x, size.y}); } -std::pair -SceneRenderer::preFrame(const LightDirection & lightDirection) +void +SceneRenderer::preFrame(const SceneProvider & scene, const LightDirection lightDirection) { - return {camera, shadowMapper.preFrame(lightDirection, camera)}; + glDebugScope _ {output}; + const auto lightView = shadowMapper.preFrame(lightDirection, camera); + scene.forEachRenderable([&lightView, this](Renderable * renderable) { + renderable->preFrame(camera, lightView); + }); } void -- cgit v1.3