summaryrefslogtreecommitdiff
path: root/gfx/gl/camera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/gl/camera.cpp')
-rw-r--r--gfx/gl/camera.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/gfx/gl/camera.cpp b/gfx/gl/camera.cpp
index f03e85b..9e165fa 100644
--- a/gfx/gl/camera.cpp
+++ b/gfx/gl/camera.cpp
@@ -29,6 +29,11 @@ Camera::updateView()
view = glm::lookAt({}, forward, up);
viewProjection = projection * view;
inverseViewProjection = glm::inverse(viewProjection);
+ static constexpr auto PLANES = std::array {0, 1, 2} * std::array {1.F, -1.F};
+ std::ranges::transform(PLANES, frustumPlanes.begin(), [vpt = glm::transpose(viewProjection)](const auto & idxs) {
+ const auto [idx, sgn] = idxs;
+ return vpt[3] + (vpt[idx] * sgn);
+ });
}
Direction3D