diff options
-rw-r--r-- | game/terrain.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/game/terrain.cpp b/game/terrain.cpp index e9e9463..d3c1d1a 100644 --- a/game/terrain.cpp +++ b/game/terrain.cpp @@ -128,12 +128,14 @@ Terrain::render(const SceneShader & shader, const Frustum & frustum) const } void -Terrain::shadows(const ShadowMapper & shadowMapper, const Frustum &) const +Terrain::shadows(const ShadowMapper & shadowMapper, const Frustum & frustum) const { shadowMapper.landmess.use(); for (const auto & [surface, sab] : meshes) { - glBindVertexArray(sab.vertexArray); - glDrawElements(GL_TRIANGLES, sab.count, GL_UNSIGNED_INT, nullptr); + if (frustum.shadedBy(sab.aabb)) { + glBindVertexArray(sab.vertexArray); + glDrawElements(GL_TRIANGLES, sab.count, GL_UNSIGNED_INT, nullptr); + } } glBindVertexArray(0); } |