From 6b407b2778c69314ba034e9ea265697a51f331d4 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 28 Feb 2026 13:30:46 +0000 Subject: Use RelativeDistance in Camera near/fear and expose member variables --- gfx/camera.h | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'gfx/camera.h') diff --git a/gfx/camera.h b/gfx/camera.h index b17bcbb..b78827a 100644 --- a/gfx/camera.h +++ b/gfx/camera.h @@ -8,7 +8,7 @@ class Camera : public Frustum { public: - Camera(GlobalPosition3D position, Angle fov, Angle aspect, GlobalDistance near, GlobalDistance far); + Camera(GlobalPosition3D position, Angle fov, Angle aspect, RelativeDistance near, RelativeDistance far); [[nodiscard]] Ray unProject(const ScreenRelCoord &) const; @@ -61,17 +61,35 @@ public: return forward; } + [[nodiscard]] auto + getNear() const + { + return near; + } + + [[nodiscard]] auto + getFar() const + { + return far; + } + + [[nodiscard]] auto + getDepth() const + { + return far - near; + } + [[nodiscard]] std::array extentsAtDist(GlobalDistance) const; [[nodiscard]] static Direction3D upFromForward(const Direction3D & forward); private: - Camera(GlobalPosition3D position, Angle fov, Angle aspect, GlobalDistance near, GlobalDistance far, + Camera(GlobalPosition3D position, Angle fov, Angle aspect, RelativeDistance near, RelativeDistance far, const glm::mat4 & view, const glm::mat4 & projection); void updateView(); Angle fov, aspect; Direction3D forward; Direction3D up; - GlobalDistance near, far; + RelativeDistance near, far; }; -- cgit v1.3