#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; };