FCamera

namespace marengine
class FCamera

Subclassed by FCamera3D

Public Functions

void create(FWindow *pWindow, FFramebuffer *pFramebuffer)
bool update()
void recalculate()
const FRenderCamera *getRenderCamera() const final
const FWindow *getWindow() const final
float getDeltaTime() const final

Protected Attributes

FRenderCamera p_renderCamera
FWindow *p_pWindow = {nullptr}
FFramebuffer *p_pFramebuffer = {nullptr}
float p_deltaTime
class FCamera3D : public FCamera

Public Functions

void create(FWindow *pWindow, FFramebuffer *pFramebuffer) final
bool update() final
void recalculate() final

Private Members

maths::vec3 m_position = {-10.0f, 2.0f, 0.0f}
maths::vec3 m_front = {0.0f, 0.0f, -1.0f}
maths::vec3 m_up
maths::vec3 m_right
float m_yaw = {0.0f}
float m_pitch = {0.0f}
float m_movementSpeed = {5.0f}
float m_velocity = {0.f}
float m_zoom = {55.0f}
float m_aspectRatio = {1.333f}
float m_near = {0.001f}
float m_far = {10000.f}

Friends

friend class FCameraKeyboardDecorator
friend class FCameraMouseDecorator
friend class FCameraSphericalDecorator
class FCameraKeyboardDecorator

Public Static Functions

template<typename TCamera>
bool update(TCamera *pCamera, int32 key)
class FCameraMouseDecorator

Public Static Functions

template<typename TCamera>
bool update(TCamera *pCamera, int32 key)
class FCameraSphericalDecorator

Public Static Functions

template<typename TCamera>
bool update(TCamera *pCamera, int32 key)