summaryrefslogtreecommitdiff
path: root/game/scenary
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-03-06 00:25:22 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2025-03-07 02:04:35 +0000
commit625b78bba16dcbbe97fa84bbf8f2273472d79ade (patch)
tree726fb728ee2f04eeed06875cb59c46cd5147a311 /game/scenary
parentSplit core view definition out of Camera into Frustum (diff)
downloadilt-625b78bba16dcbbe97fa84bbf8f2273472d79ade.tar.bz2
ilt-625b78bba16dcbbe97fa84bbf8f2273472d79ade.tar.xz
ilt-625b78bba16dcbbe97fa84bbf8f2273472d79ade.zip
Pass frustum into render functions
Support for culling objects outside the view frustum
Diffstat (limited to 'game/scenary')
-rw-r--r--game/scenary/foliage.cpp2
-rw-r--r--game/scenary/foliage.h2
-rw-r--r--game/scenary/illuminator.cpp2
-rw-r--r--game/scenary/illuminator.h2
4 files changed, 4 insertions, 4 deletions
diff --git a/game/scenary/foliage.cpp b/game/scenary/foliage.cpp
index a0ec576..c1bf9b9 100644
--- a/game/scenary/foliage.cpp
+++ b/game/scenary/foliage.cpp
@@ -29,7 +29,7 @@ Foliage::updateStencil(const ShadowStenciller & ss) const
}
void
-Foliage::render(const SceneShader & shader) const
+Foliage::render(const SceneShader & shader, const Frustum &) const
{
if (const auto count = instances.size()) {
shader.basicInst.use();
diff --git a/game/scenary/foliage.h b/game/scenary/foliage.h
index 5da63f0..422c7aa 100644
--- a/game/scenary/foliage.h
+++ b/game/scenary/foliage.h
@@ -24,7 +24,7 @@ public:
};
mutable InstanceVertices<LocationVertex> instances;
- void render(const SceneShader &) const override;
+ void render(const SceneShader &, const Frustum &) const override;
void shadows(const ShadowMapper &) const override;
void updateStencil(const ShadowStenciller &) const override;
glTexture shadowStencil = ShadowStenciller::createStencilTexture(256, 256);
diff --git a/game/scenary/illuminator.cpp b/game/scenary/illuminator.cpp
index e3810ec..f1a02b2 100644
--- a/game/scenary/illuminator.cpp
+++ b/game/scenary/illuminator.cpp
@@ -59,7 +59,7 @@ Illuminator::postLoad()
}
void
-Illuminator::render(const SceneShader & shader) const
+Illuminator::render(const SceneShader & shader, const Frustum &) const
{
if (const auto count = instances.size()) {
shader.basicInst.use();
diff --git a/game/scenary/illuminator.h b/game/scenary/illuminator.h
index 44bd583..47ce337 100644
--- a/game/scenary/illuminator.h
+++ b/game/scenary/illuminator.h
@@ -45,7 +45,7 @@ public:
mutable InstanceVertices<LocationVertex> instances;
mutable InstanceVertices<SpotLightVertex> instancesSpotLight;
mutable InstanceVertices<PointLightVertex> instancesPointLight;
- void render(const SceneShader &) const override;
+ void render(const SceneShader &, const Frustum &) const override;
void lights(const SceneShader &) const override;
protected: