summaryrefslogtreecommitdiff
path: root/test/test-geoData.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-geoData.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-geoData.cpp')
-rw-r--r--test/test-geoData.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/test/test-geoData.cpp b/test/test-geoData.cpp
index b3a6ad4..80d3a08 100644
--- a/test/test-geoData.cpp
+++ b/test/test-geoData.cpp
@@ -256,14 +256,20 @@ BOOST_DATA_TEST_CASE(Deform, loadFixtureJson<DeformTerrainData>("geoData/deform/
TestRenderOutput tro {{640, 480}};
struct TestTerrain : public SceneProvider {
- explicit TestTerrain(GeoData geoData) : terrain(std::move(geoData)) { }
+ explicit TestTerrain(GeoData geoData) : terrain(std::make_shared<Terrain>(std::move(geoData))) { }
- const Terrain terrain;
+ std::shared_ptr<Terrain> terrain;
+
+ void
+ forEachRenderable(const RenderableProcessor & func) const override
+ {
+ func(terrain.get());
+ }
void
content(const SceneShader & shader, const Frustum & frustum) const override
{
- terrain.render(shader, frustum);
+ terrain->render(shader, frustum);
}
void
@@ -281,7 +287,7 @@ BOOST_DATA_TEST_CASE(Deform, loadFixtureJson<DeformTerrainData>("geoData/deform/
void
shadows(const ShadowMapper & shadowMapper, const Frustum & frustum) const override
{
- terrain.shadows(shadowMapper, frustum);
+ terrain->shadows(shadowMapper, frustum);
}
};