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 /test/test-assetFactory.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 'test/test-assetFactory.cpp')
| -rw-r--r-- | test/test-assetFactory.cpp | 15 |
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); } |
