41 lines
978 B
C++
41 lines
978 B
C++
#pragma once
|
|
|
|
#include "ICamera.h"
|
|
#include "IEngine.h"
|
|
#include "../Transformation/Transformation.h"
|
|
|
|
|
|
class BaseCamera
|
|
: public Transformation
|
|
, public ICamera
|
|
{
|
|
public:
|
|
BaseCamera(IEngine& argEngine);
|
|
|
|
virtual const D3DXMATRIX& get_ProjectionMatrix() const { return m_ProjectionMatrix; }
|
|
virtual const D3DXMATRIX& get_ViewMatrix() const { return m_ViewMatrix; }
|
|
|
|
virtual void set_AspectRatio(float argValue);
|
|
virtual float get_AspectRatio() const { return m_AspectRatio; }
|
|
|
|
virtual void set_FarClip(float argValue);
|
|
virtual float get_FarClip() const { return m_FarClip; }
|
|
|
|
virtual void set_NearClip(float argValue);
|
|
virtual float get_NearClip() const { return m_NearClip; }
|
|
|
|
virtual const ViewFrustum& get_ViewFrustum() const { return m_Frustum; }
|
|
|
|
protected:
|
|
virtual void RecreateAllShaderParameters();
|
|
|
|
protected:
|
|
float m_NearClip;
|
|
float m_FarClip;
|
|
float m_AspectRatio;
|
|
|
|
D3DXMATRIX m_ProjectionMatrix;
|
|
D3DXMATRIX m_ViewMatrix;
|
|
ViewFrustum m_Frustum;
|
|
};
|