Game Development Reference
In-Depth Information
public:
CameraNode(Mat4x4 const *t, Frustum const &frustum)
: SceneNode(INVALID_ACTOR_ID,
Camera
, RenderPass_0, g_Black, t),
m_Frustum(frustum),
m_bActive(true),
m_DebugCamera(false),
m_pTarget(shared_ptr<SceneNode>()),
m_CamOffsetVector( 0.0f, 1.0f, -10.0f, 0.0f )
{
}
virtual HRESULT VRender(Scene *pScene);
virtual HRESULT VOnRestore(Scene *pScene);
virtual bool VIsVisible(Scene *pScene) const { return m_bActive; }
virtual HRESULT SetViewTransform(Scene *pScene);
const Frustum &GetFrustum() { return m_Frustum; }
void SetTarget(shared_ptr<SceneNode> pTarget)
{
m_pTarget = pTarget;
}
void ClearTarget() { m_pTarget = shared_ptr<SceneNode>(); }
shared_ptr<SceneNode> GetTarget() { return m_pTarget; }
Mat4x4 GetWorldViewProjection(Scene *pScene);
HRESULT SetViewTransform(Scene *pScene);
Mat4x4 GetProjection() { return m_Projection; }
Mat4x4 GetView() { return m_View; }
void SetCameraOffset( const Vec4 & cameraOffset )
{
m_CamOffsetVector = cameraOffset;
}
protected:
Frustum m_Frustum;
Mat4x4 m_Projection;
Mat4x4 m_View;
bool m_bActive;
bool m_DebugCamera;
shared_ptr<SceneNode> m_pTarget;
Vec4
m_CamOffsetVector;
};
Search WWH ::




Custom Search