23#ifndef INCLUDED_CAMERA
24#define INCLUDED_CAMERA
45 using Quad = std::array<CVector3D, 4>;
Definition: BoundingBoxAligned.h:34
ProjectionType m_ProjType
Definition: Camera.h:120
float GetFarPlane() const
Definition: Camera.h:81
void SetProjectionFromCamera(const CCamera &camera)
Definition: Camera.cpp:51
ProjectionType
Definition: Camera.h:48
void LookAlong(const CVector3D &camera, CVector3D orientation, CVector3D up)
Definition: Camera.cpp:445
CMatrix3D m_ProjMat
Definition: Camera.h:119
float GetFOV() const
Definition: Camera.h:82
CCamera()
Definition: Camera.cpp:33
void BuildCameraRay(int px, int py, CVector3D &origin, CVector3D &dir) const
Definition: Camera.cpp:206
void SetOrthoProjection(float nearp, float farp, float scale)
Definition: Camera.cpp:67
void GetScreenCoordinates(const CVector3D &world, float &x, float &y) const
Definition: Camera.cpp:240
float GetOrthoScale() const
Definition: Camera.h:83
void SetViewPort(const SViewPort &viewport)
Definition: Camera.cpp:150
const CFrustum & GetFrustum() const
Definition: Camera.h:74
std::array< CVector3D, 4 > Quad
Definition: Camera.h:45
CMatrix3D m_Orientation
Definition: Camera.h:116
void SetPerspectiveProjection(float nearp, float farp, float fov)
Definition: Camera.cpp:79
void ClipFrustum(const CPlane &clipPlane)
Definition: Camera.cpp:143
float m_OrthoScale
Definition: Camera.h:127
const CMatrix3D & GetOrientation() const
Definition: Camera.h:67
void GetViewQuad(float dist, Quad &quad) const
Definition: Camera.cpp:163
CMatrix3D GetViewProjection() const
Definition: Camera.h:59
float m_FarPlane
Definition: Camera.h:123
float m_FOV
Definition: Camera.h:126
const SViewPort & GetViewPort() const
Definition: Camera.h:77
void UpdateFrustum(const CBoundingBoxAligned &scissor=CBoundingBoxAligned(CVector3D(-1.0f, -1.0f, -1.0f), CVector3D(1.0f, 1.0f, 1.0f)))
Definition: Camera.cpp:92
CMatrix3D & GetOrientation()
Definition: Camera.h:66
void LookAt(const CVector3D &camera, const CVector3D &focus, const CVector3D &up)
Definition: Camera.cpp:439
void SetProjection(const CMatrix3D &matrix)
Definition: Camera.cpp:45
float m_NearPlane
Definition: Camera.h:122
CVector3D GetWorldCoordinates(int px, int py, bool aboveWater=false) const
Definition: Camera.cpp:252
ProjectionType GetProjectionType() const
Definition: Camera.h:64
const CMatrix3D & GetProjection() const
Definition: Camera.h:58
CFrustum m_ViewFrustum
Definition: Camera.h:131
CBoundingBoxAligned GetBoundsInViewPort(const CBoundingBoxAligned &boundigBox) const
Definition: Camera.cpp:396
CMatrix3D & GetProjection()
Definition: Camera.h:57
float GetAspectRatio() const
Definition: Camera.cpp:158
CVector3D GetFocus() const
Definition: Camera.cpp:336
SViewPort m_ViewPort
Definition: Camera.h:129
float GetNearPlane() const
Definition: Camera.h:80
Definition: Matrix3D.h:34
void GetInverse(CMatrix3D &dst) const
Definition: Matrix3D.cpp:303
Definition: Vector3D.h:31
int m_Y
Definition: Camera.h:36
int m_X
Definition: Camera.h:35
int m_Height
Definition: Camera.h:38
int m_Width
Definition: Camera.h:37