diff options
| author | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2026-02-23 17:35:48 +0000 |
|---|---|---|
| committer | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2026-02-23 17:35:48 +0000 |
| commit | 89b8ffa013c10db57be14fbdd59757c08c243e18 (patch) | |
| tree | e753cc920e37e72bec6a7ae391edcf25940f2db3 /gfx/gl/sceneRenderer.cpp | |
| parent | Simplified Frustum (diff) | |
| download | ilt-89b8ffa013c10db57be14fbdd59757c08c243e18.tar.bz2 ilt-89b8ffa013c10db57be14fbdd59757c08c243e18.tar.xz ilt-89b8ffa013c10db57be14fbdd59757c08c243e18.zip | |
Tidy the preFrame logic into a single function in SceneRenderer
Clients now just call that one helper and SceneProvider passes in all
the renderables.
Diffstat (limited to 'gfx/gl/sceneRenderer.cpp')
| -rw-r--r-- | gfx/gl/sceneRenderer.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
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 <gfx/gl/shaders/directionalLight-frag.h> #include <gfx/gl/shaders/lighting-frag.h> #include <gfx/gl/shaders/lighting-vert.h> +#include <gfx/renderable.h> #include <glm/gtc/type_ptr.hpp> static constexpr const std::array<const glm::i8vec4, 4> displayVAOdata {{ @@ -77,10 +78,14 @@ SceneRenderer::resize(ScreenAbsCoord newSize) shader.setViewPort({0, 0, size.x, size.y}); } -std::pair<const Frustum &, const Frustum &> -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 |
