|
evan 2026.1.4
Evan
|
A view frustum represented by its six bounding planes. More...
#include <headers/evan/Frustum.hpp>
Public Member Functions | |
| bool | intersects (const utility::math::AabbF &box) const |
| Test whether an axis-aligned bounding box intersects the frustum. | |
| bool | intersects (const glm::vec3 ¢er, float radius) const |
| Test whether a bounding sphere intersects the frustum. | |
Static Public Member Functions | |
| static Frustum | fromViewProjection (const glm::mat4 &viewProjection) |
| Build a frustum from a combined projection × view matrix. | |
A view frustum represented by its six bounding planes.
A Frustum is built once per view from the combined projection × view matrix and reused to reject meshes whose bounds are fully outside. Plane extraction uses the Gribb-Hartmann method and expects a Vulkan-style clip matrix (right-handed, 0..1 depth), matching the projection produced by utility::graphic::View::getProjectionMatrix().
Definition at line 40 of file Frustum.hpp.
Build a frustum from a combined projection × view matrix.
| viewProjection | The combined clip-space matrix (proj * view). |
Test whether a bounding sphere intersects the frustum.
| center | Center of the sphere. |
| radius | Radius of the sphere. |
Test whether an axis-aligned bounding box intersects the frustum.
A box is visible when it is inside or merely touching the frustum; only fully outside boxes are rejected. Empty boxes are always visible.
| box | The bounding box to test. |