diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-03-06 00:25:22 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-03-07 02:04:35 +0000 |
commit | 625b78bba16dcbbe97fa84bbf8f2273472d79ade (patch) | |
tree | 726fb728ee2f04eeed06875cb59c46cd5147a311 /game/scenary | |
parent | Split core view definition out of Camera into Frustum (diff) | |
download | ilt-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.cpp | 2 | ||||
-rw-r--r-- | game/scenary/foliage.h | 2 | ||||
-rw-r--r-- | game/scenary/illuminator.cpp | 2 | ||||
-rw-r--r-- | game/scenary/illuminator.h | 2 |
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: |