9constexpr float YAW = -90.0f;
13constexpr float ZOOM = 45.0f;
14constexpr float PI = 3.1415926535f;
49 float velocity =
m_fSpeed * fDeltaTime;
77 if (bConstrainPitch) {
91 constexpr float fPanSpeed = 0.02f;
Processes input and calculates the View Matrix for OpenGL rendering.
Definition camera.h:21
Vec3 m_objVecRight
Definition camera.h:144
float m_fPitch
Definition camera.h:149
Mat4 GetViewMatrix()
Calculates the LookAt View Matrix.
Definition camera.h:36
Vec3 GetCameraPosition() const
Definition camera.h:112
Vec3 GetUp() const
Definition camera.h:109
Vec3 m_objPtPosition
Definition camera.h:141
Vec3 m_objVecUp
Definition camera.h:143
Vec3 GetFront() const
Definition camera.h:110
void UpdateCameraVectors()
Recalculates Front, Right, and Up vectors from Euler angles.
Definition camera.h:128
void ProcessKeyboard(int iDirection, float fDeltaTime)
Moves the camera based on keyboard input direction.
Definition camera.h:48
void SetCameraFront(const Vec3 &front)
Definition camera.h:116
float m_fYaw
Definition camera.h:148
Vec3 m_objVecFront
Definition camera.h:142
Camera(Vec3 startPos=Vec3(0.0f, 0.0f, 0.0f), Vec3 startUP=Vec3(0.0f, 1.0f, 0.0f))
Constructs the camera at a specific position.
Definition camera.h:28
float m_fSensitivity
Definition camera.h:155
void ProcessMouseMovement(float fXOffset, float fYOffset, bool bConstrainPitch=true)
Rotates the camera based on mouse movement.
Definition camera.h:70
void SetCameraZoom(float zoom)
Definition camera.h:117
float GetZoom() const
Definition camera.h:113
Vec3 GetRight() const
Definition camera.h:111
void ProcessMouseScroll(float fYOffset)
Zooms (changes FOV) based on scroll wheel.
Definition camera.h:99
float m_fZoom
Definition camera.h:152
Vec3 m_objWorldUp
Definition camera.h:145
void SetCameraYawPitch(float yaw, float pitch)
Definition camera.h:119
void ProcessMousePan(float fXOffset, float fYOffset)
Pans the camera (Editor style movement).
Definition camera.h:90
float m_fSpeed
Definition camera.h:154
void SetCameraPosition(const Vec3 &position)
Definition camera.h:115
constexpr float YAW
Definition camera.h:9
constexpr float ZOOM
Definition camera.h:13
constexpr float PI
Definition camera.h:14
constexpr float PITCH
Definition camera.h:10
constexpr float SENSITIVITY
Definition camera.h:12
constexpr float SPEED
Definition camera.h:11
A 4x4 Matrix structure stored in Column-Major order (OpenGL Standard).
Definition Matrix.h:18
static Mat4 LookAt(const Vec3 &eye, const Vec3 &tgt, const Vec3 &up)
Creates a View Matrix using Eye, Target, and Up vectors.
Definition Matrix.h:106
A 3-component vector structure (x, y, z) with standard math operations.
Definition MathUtils.h:11
float x
Definition MathUtils.h:12
float z
Definition MathUtils.h:12
constexpr Vec3 cross(const Vec3 &other) const noexcept
Definition MathUtils.h:71
Vec3 normalize() const
Definition MathUtils.h:51
float y
Definition MathUtils.h:12