cesium-native 0.47.0
Loading...
Searching...
No Matches
CullingVolume.h
1#pragma once
2
3#include <CesiumGeometry/Plane.h>
4
5#include <glm/ext/matrix_double4x4.hpp>
6
7namespace CesiumGeometry {
8
16struct CullingVolume final {
17
23 CesiumGeometry::Plane leftPlane{glm::dvec3(0.0, 0.0, 1.0), 0.0};
24
30 CesiumGeometry::Plane rightPlane{glm::dvec3(0.0, 0.0, 1.0), 0.0};
31
37 CesiumGeometry::Plane topPlane{glm::dvec3(0.0, 0.0, 1.0), 0.0};
38
44 CesiumGeometry::Plane bottomPlane{glm::dvec3(0.0, 0.0, 1.0), 0.0};
45};
46
58 const glm::dvec3& position,
59 const glm::dvec3& direction,
60 const glm::dvec3& up,
61 double fovx,
62 double fovy) noexcept;
63
71CullingVolume createCullingVolume(const glm::dmat4& clipMatrix);
72
87 const glm::dvec3& position,
88 const glm::dvec3& direction,
89 const glm::dvec3& up,
90 double l,
91 double r,
92 double b,
93 double t,
94 double n) noexcept;
95
111 const glm::dvec3& position,
112 const glm::dvec3& direction,
113 const glm::dvec3& up,
114 double l,
115 double r,
116 double b,
117 double t,
118 double n) noexcept;
119
120} // namespace CesiumGeometry
A plane in Hessian Normal Format.
Definition Plane.h:12
Basic geometry classes for Cesium.
CullingVolume createOrthographicCullingVolume(const glm::dvec3 &position, const glm::dvec3 &direction, const glm::dvec3 &up, double l, double r, double b, double t, double n) noexcept
Creates a CullingVolume for an orthographic frustum.
CullingVolume createCullingVolume(const glm::dvec3 &position, const glm::dvec3 &direction, const glm::dvec3 &up, double fovx, double fovy) noexcept
Creates a CullingVolume for a perspective frustum.
A culling volume, defined by four planes.
CesiumGeometry::Plane leftPlane
The left plane of the culling volume.
CesiumGeometry::Plane topPlane
The top plane of the culling volume.
CesiumGeometry::Plane rightPlane
The right plane of the culling volume.
CesiumGeometry::Plane bottomPlane
The bottom plane of the culling volume.