23 #ifndef INCLUDED_CAMERA 24 #define INCLUDED_CAMERA 45 using Quad = std::array<CVector3D, 4>;
60 void SetProjection(
const CMatrix3D& matrix);
61 void SetProjectionFromCamera(
const CCamera& camera);
62 void SetOrthoProjection(
float nearp,
float farp,
float scale);
63 void SetPerspectiveProjection(
float nearp,
float farp,
float fov);
73 void ClipFrustum(
const CPlane& clipPlane);
76 void SetViewPort(
const SViewPort& viewport);
78 float GetAspectRatio()
const;
82 float GetFOV()
const {
return m_FOV; }
86 void GetViewQuad(
float dist,
Quad& quad)
const;
95 void GetScreenCoordinates(
const CVector3D& world,
float& x,
float& y)
const;
99 CVector3D GetWorldCoordinates(
int px,
int py,
bool aboveWater=
false)
const;
101 CVector3D GetWorldCoordinates(
int px,
int py,
float h)
const;
122 float m_NearPlane = 0.0f;
123 float m_FarPlane = 0.0f;
134 #endif // INCLUDED_CAMERA
const CMatrix3D & GetProjection() const
Definition: Camera.h:58
ProjectionType
Definition: Camera.h:47
int m_Y
Definition: Camera.h:36
float GetFarPlane() const
Definition: Camera.h:81
Definition: Vector3D.h:30
const CMatrix3D & GetOrientation() const
Definition: Camera.h:67
int m_Height
Definition: Camera.h:38
Definition: Matrix3D.h:33
float GetOrthoScale() const
Definition: Camera.h:83
CMatrix3D & GetOrientation()
Definition: Camera.h:66
float GetNearPlane() const
Definition: Camera.h:80
const SViewPort & GetViewPort() const
Definition: Camera.h:77
CMatrix3D & GetProjection()
Definition: Camera.h:57
CFrustum m_ViewFrustum
Definition: Camera.h:131
void GetInverse(CMatrix3D &dst) const
Definition: Matrix3D.cpp:303
Definition: BoundingBoxAligned.h:33
ProjectionType GetProjectionType() const
Definition: Camera.h:64
int m_Width
Definition: Camera.h:37
CMatrix3D GetViewProjection() const
Definition: Camera.h:59
CMatrix3D m_Orientation
Definition: Camera.h:116
SViewPort m_ViewPort
Definition: Camera.h:129
float m_OrthoScale
Definition: Camera.h:127
CMatrix3D m_ProjMat
Definition: Camera.h:119
const CFrustum & GetFrustum() const
Definition: Camera.h:74
std::array< CVector3D, 4 > Quad
Definition: Camera.h:45
int m_X
Definition: Camera.h:35
float GetFOV() const
Definition: Camera.h:82
float m_FOV
Definition: Camera.h:126