19 #include <linmath/float4x4.h> 20 #include <linmath/float3.h> 21 #include "IComponent.h" 28 Camera(chag::float3 position, chag::float3 lookAt,
29 chag::float3 up,
float fov,
float ratio,
30 float nearPlane,
float farPlane):
31 m_vPosition(position), m_vLookAt(lookAt), m_vUp(up), m_fFov(fov),
32 m_fRatio(ratio), m_fNearPlane(nearPlane), m_fFarPlane(farPlane)
38 virtual void update(
float dt) = 0;
39 virtual chag::float4x4 getViewMatrix() = 0;
40 virtual chag::float4x4 getProjectionMatrix() = 0;
42 virtual void setPosition(chag::float3 position);
43 virtual void setLookAt(chag::float3 lookAt);
44 virtual void setUpVector(chag::float3 up);
45 chag::float3 getPosition() {
return m_vPosition; };
46 chag::float3 getLookAt() {
return m_vLookAt; };
47 chag::float3 getUp() {
return m_vUp; };
50 chag::float3 m_vPosition;
51 chag::float3 m_vLookAt;
54 float m_fRatio = 1.0f;
55 float m_fNearPlane = 0.1f;
56 float m_fFarPlane = 100.0f;