class CRenderCamera;
IRenderer.h
float Far;
Window extents defined as a rect on NearPlane.
float Near;
Window extents defined as a rect on NearPlane.
Vec3 Orig;
Location of origin of camera system in world coords.
float wB;
float wL;
float wR;
float wT;
Vec3 X;
Vec3 Y;
Vec3 Z;
void CalcRegionVerts(Vec3 * V, const Vec2& vMin, const Vec2& vMax) const;
void CalcTiledRegionVerts(Vec3 * V, Vec2& vMin, Vec2& vMax, f32 nPosX, f32 nPosY, f32 nGridSizeX, f32 nGridSizeY) const;
void CalcTileVerts(Vec3 * V, f32 nPosX, f32 nPosY, f32 nGridSizeX, f32 nGridSizeY) const;
CALCS EIGHT CORNERS FOR TILE OF VIEW-FRUSTUM
void CalcVerts(Vec3 * V) const;
CALCS EIGHT CORNERS OF VIEW-FRUSTUM
Vec3 CamToWorld(const Vec3 & cP) const;
void Copy(const CRenderCamera & Cam);
CRenderCamera(); CRenderCamera(const CRenderCamera & Cam);
Distances to near and far planes (in Viewing dir).
void Frustum(float l, float r, float b, float t, float Ndist, float Fdist);
void GetFrustumParams(float * l, float * r, float * b, float * t, float * Ndist, float * Fdist) const;
float* GetInvModelviewMatrix(float* M) const;
float* GetInvProjectionMatrix(float* M) const;
float* GetInvViewportMatrix(float* M, int WW, int WH) const;
void GetLookAtParams(Vec3 * Eye, Vec3 * ViewRefPt, Vec3 * ViewUp) const;
void TightlyFitToSphere(const Vec3& Eye, const Vec3& ViewUp, const Vec3& Cntr, float RadX, float RadY);
float* GetModelviewMatrix(float* M) const;
void GetPerspectiveParams(float * Yfov, float * Xfov, float * Aspect, float * Ndist, float * Fdist) const;
void GetPixelRay(float sx, float sy, int ww, int wh, Vec3 * Start, Vec3 * Dir) const;
float* GetProjectionMatrix(float* M) const;
float* GetViewportMatrix(float* M, int WW, int WH) const;
float* GetXform_Obj2Screen(float* M, int WW, int WH) const;
float* GetXform_Screen2Obj(float* M, int WW, int WH) const;
void LoadIdentityXform();
void LookAt(const Vec3& Eye, const Vec3& ViewRefPt, const Vec3& ViewUp);
void Perspective(float Yfov, float Aspect, float Ndist, float Fdist);
void Rotate(const float M[9]);
void SetModelviewMatrix(const float* M);
void Translate(const Vec3& trans);
Vec3 ViewDir() const;
VIEWING DIRECTION
Vec3 ViewDirOffAxis() const;
const Vec3& wCOP() const;
WORLD COORDINATE CENTER-OF-PROJECTION (EYE)
Vec3 WorldToCam(const Vec3 & wP) const;
float WorldToCamZ(const Vec3 & wP) const;
void Xform(const float M[16]);