46 Camera(
float verticalFOV,
float nearClip,
float farClip);
78 bool NormalCameraControls(
const V2& delta,
float ts);
79 bool OrbitCameraControls(
const V2& delta,
float ts);
81 void RecalculateProjection();
82 void RecalculateView();
86 Mat4 m_Projection{ 1.0f };
88 Mat4 m_InverseProjection{ 1.0f };
89 Mat4 m_InverseView{ 1.0f };
91 float m_VerticalFOV = 45.0f;
92 float m_NearClip = 0.1f;
93 float m_FarClip = 100.0f;
95 V3 m_TargetPos{ 0.0f, 0.0f, 0.0f };
96 float m_TargetDist{ 0.0f };
98 V3 m_Position{ 0.0f, 0.0f, 0.0f };
99 V3 m_ForwardDirection{ 0.0f, 0.0f, 0.0f };
101 V2 m_LastMousePosition{ 0.0f, 0.0f };
103 u32 m_ViewportWidth = 0, m_ViewportHeight = 0;
105 CameraParameters m_Parameters;
unsigned __int32 u32
Unsigned integer 32 bit type.
Definition BasicTypes.h:55
#define NODISCARD
Definition Common.h:80
bool FrustumCulling
Definition Camera.h:75
bool OnUpdate(float ts)
Definition Camera.cpp:44
NODISCARD float GetNearPlane() const
Definition Camera.h:59
Camera(float verticalFOV, float nearClip, float farClip)
Definition Camera.cpp:34
NODISCARD float GetRight() const
Definition Camera.h:63
NODISCARD float GetTop() const
Definition Camera.h:64
NODISCARD const Mat4 & GetInverseView() const
Definition Camera.h:54
NODISCARD const V3 & GetDirection() const
Definition Camera.h:57
NODISCARD const Mat4 & GetProjection() const
Definition Camera.h:51
NODISCARD float GetRotationSpeed()
Definition Camera.cpp:115
NODISCARD float GetBottom() const
Definition Camera.h:65
NODISCARD void SetCameraTarget(const V3 &target)
Definition Camera.h:73
NODISCARD float GetFarPlane() const
Definition Camera.h:60
void OnResize(u32 width, u32 height)
Definition Camera.cpp:87
NODISCARD const Mat4 & GetView() const
Definition Camera.h:53
NODISCARD bool IsInsideFrustum(const Math::AABB &boundingBox) const
Definition Camera.cpp:120
NODISCARD const Mat4 & GetInverseProjection() const
Definition Camera.h:52
NODISCARD const V3 & GetPosition() const
Definition Camera.h:56
NODISCARD float GetLeft() const
Definition Camera.h:62
NODISCARD float GetFOV() const
Definition Camera.h:67
glm::mat4x4 Mat4
Definition MathTypes.h:80
glm::vec2 V2
2D Vector; 32 bit floating point components
Definition MathTypes.h:41
glm::vec3 V3
3D Vector; 32 bit floating point components
Definition MathTypes.h:47
float Bottom
Definition Camera.h:38
float Right
Definition Camera.h:40
float Left
Definition Camera.h:39
float Top
Definition Camera.h:37