summaryrefslogtreecommitdiff
path: root/test/test-assetFactory.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan.goodliffe@octal.co.uk>2026-02-23 17:35:48 +0000
committerDan Goodliffe <dan.goodliffe@octal.co.uk>2026-02-23 17:35:48 +0000
commit89b8ffa013c10db57be14fbdd59757c08c243e18 (patch)
treee753cc920e37e72bec6a7ae391edcf25940f2db3 /test/test-assetFactory.cpp
parentSimplified Frustum (diff)
downloadilt-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 'test/test-assetFactory.cpp')
-rw-r--r--test/test-assetFactory.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/test/test-assetFactory.cpp b/test/test-assetFactory.cpp
index ff38369..8dbe53d 100644
--- a/test/test-assetFactory.cpp
+++ b/test/test-assetFactory.cpp
@@ -69,16 +69,21 @@ namespace {
}
void
- render(float dist)
+ forEachRenderable(const RenderableProcessor & func) const override
{
- sceneRenderer.camera.setView({-dist, dist * 1.2F, dist * 1.2F}, south + east + down);
- const auto & [camFrust, lightFrust] = sceneRenderer.preFrame({{0.9, 0.5}});
for (const auto & [assetId, asset] : gameState.assets) {
if (const auto renderable = asset.getAs<Renderable>()) {
- renderable->preFrame(camFrust, lightFrust);
+ func(renderable);
}
}
- gameState.world.apply<Renderable>(&Renderable::preFrame, camFrust, lightFrust);
+ gameState.world.apply<Renderable>(func);
+ }
+
+ void
+ render(float dist)
+ {
+ sceneRenderer.camera.setView({-dist, dist * 1.2F, dist * 1.2F}, south + east + down);
+ sceneRenderer.preFrame(*this, {{0.9, 0.5}});
sceneRenderer.render(*this);
}