#pragma once #include "Camera.h" class Impostor { public: Impostor(void); ~Impostor(void); void Display(); void updateCamera(bool forceRefresh); void setViewCamera(Camera* camera){m_ViewCamera=camera;} Camera* getCamera(){return m_ViewCamera;} Camera getOwnCamera(){return m_OwnCamera;} void SetErrorTolerance(double error){m_ErrorTolerance=error;} bool NeedRefresh; void setObjSphereRadius(double radius){m_ObjectBSphereRadius=radius;} void setObjPosition(Vector position){m_ObjectPosition=position;} void ApplyCameraTransform(){m_OwnCamera.SetViewandProjection();} void ApplyCameraTransformOrto(){m_OwnCamera.SetViewandProjectionOrto();} Vector m_UpRight; Vector m_UpLeft; Vector m_DownRight; Vector m_DownLeft; void DisplayScreenQuad(int u=1,int v=1); double Vertices[12]; double UVs[8]; private: Camera m_OwnCamera; Camera* m_ViewCamera; double m_ErrorTolerance; double m_ObjectBSphereRadius; Vector m_ObjectPosition; };