Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
CameraClass Class Reference

#include <camera.h>

Inherits RenderObjClass.

Public Types

enum  ProjectionType { PERSPECTIVE = 0 , ORTHO }
 
enum  ProjectionResType { INSIDE_FRUSTUM , OUTSIDE_FRUSTUM , OUTSIDE_NEAR_CLIP , OUTSIDE_FAR_CLIP }
 
- Public Types inherited from RenderObjClass
enum  { USER_DATA_MATERIAL_OVERRIDE = 0x01234567 }
 
enum  {
  CLASSID_UNKNOWN = 0xFFFFFFFF , CLASSID_MESH = 0 , CLASSID_HMODEL , CLASSID_DISTLOD ,
  CLASSID_PREDLODGROUP , CLASSID_TILEMAP , CLASSID_IMAGE3D , CLASSID_LINE3D ,
  CLASSID_BITMAP2D , CLASSID_CAMERA , CLASSID_DYNAMESH , CLASSID_DYNASCREENMESH ,
  CLASSID_TEXTDRAW , CLASSID_FOG , CLASSID_LAYERFOG , CLASSID_LIGHT ,
  CLASSID_PARTICLEEMITTER , CLASSID_PARTICLEBUFFER , CLASSID_SCREENPOINTGROUP , CLASSID_VIEWPOINTGROUP ,
  CLASSID_WORLDPOINTGROUP , CLASSID_TEXT2D , CLASSID_TEXT3D , CLASSID_NULL ,
  CLASSID_COLLECTION , CLASSID_FLARE , CLASSID_HLOD , CLASSID_AABOX ,
  CLASSID_OBBOX , CLASSID_SEGLINE , CLASSID_SPHERE , CLASSID_RING ,
  CLASSID_BOUNDFOG , CLASSID_DAZZLE , CLASSID_SOUND , CLASSID_SEGLINETRAIL ,
  CLASSID_LAND , CLASSID_SHDMESH , CLASSID_LAST = 0x0000FFFF
}
 
enum  AnimMode {
  ANIM_MODE_MANUAL = 0 , ANIM_MODE_LOOP , ANIM_MODE_ONCE , ANIM_MODE_LOOP_PINGPONG ,
  ANIM_MODE_LOOP_BACKWARDS , ANIM_MODE_ONCE_BACKWARDS
}
 

Public Member Functions

 CameraClass (void)
 
 CameraClass (const CameraClass &src)
 
CameraClassoperator= (const CameraClass &)
 
virtual ~CameraClass (void)
 
virtual RenderObjClassClone (void) const
 
virtual int Class_ID (void) const
 
virtual void Render (RenderInfoClass &rinfo)
 
virtual void Set_Transform (const Matrix3D &m)
 
virtual void Set_Position (const Vector3 &v)
 
virtual void Get_Obj_Space_Bounding_Sphere (SphereClass &sphere) const
 
virtual void Get_Obj_Space_Bounding_Box (AABoxClass &box) const
 
float Get_Depth (void) const
 
void Set_Projection_Type (ProjectionType ptype)
 
ProjectionType Get_Projection_Type (void)
 
void Set_Clip_Planes (float znear, float zfar)
 
void Get_Clip_Planes (float &znear, float &zfar) const
 
void Set_Zbuffer_Range (float znear, float zfar)
 
void Get_Zbuffer_Range (float &znear, float &zfar) const
 
void Set_View_Plane (const Vector2 &min, const Vector2 &max)
 
void Set_View_Plane (float hfov, float vfov=-1)
 
void Set_Aspect_Ratio (float width_to_height)
 
void Get_View_Plane (Vector2 &set_min, Vector2 &set_max) const
 
float Get_Horizontal_FOV (void) const
 
float Get_Vertical_FOV (void) const
 
float Get_Aspect_Ratio (void) const
 
void Get_Projection_Matrix (Matrix4x4 *set_tm)
 
void Get_D3D_Projection_Matrix (Matrix4x4 *set_tm)
 
void Get_View_Matrix (Matrix3D *set_tm)
 
const Matrix4x4Get_Projection_Matrix (void)
 
const Matrix3DGet_View_Matrix (void)
 
ProjectionResType Project (Vector3 &dest, const Vector3 &ws_point) const
 
ProjectionResType Project_Camera_Space_Point (Vector3 &dest, const Vector3 &cam_point) const
 
void Un_Project (Vector3 &dest, const Vector2 &view_point) const
 
void Transform_To_View_Space (Vector3 &dest, const Vector3 &ws_point) const
 
void Rotate_To_View_Space (Vector3 &dest, const Vector3 &ws_vector) const
 
void Set_Viewport (const Vector2 &min, const Vector2 &max)
 
void Get_Viewport (Vector2 &set_min, Vector2 &set_max) const
 
const ViewportClassGet_Viewport (void) const
 
void Set_Depth_Range (float zstart=0.0f, float zend=1.0f)
 
void Get_Depth_Range (float *set_zstart, float *set_zend) const
 
bool Cull_Sphere (const SphereClass &sphere) const
 
bool Cull_Sphere_On_Frustum_Sides (const SphereClass &sphere) const
 
bool Cull_Box (const AABoxClass &box) const
 
const FrustumClassGet_Frustum (void) const
 
const PlaneClassGet_Frustum_Planes (void) const
 
const Vector3Get_Frustum_Corners (void) const
 
const FrustumClassGet_View_Space_Frustum (void) const
 
const PlaneClassGet_View_Space_Frustum_Planes (void) const
 
const Vector3Get_View_Space_Frustum_Corners (void) const
 
const OBBoxClassGet_Near_Clip_Bounding_Box (void) const
 
void Device_To_View_Space (const Vector2 &device_coord, Vector3 *view_coord)
 
void Device_To_World_Space (const Vector2 &device_coord, Vector3 *world_coord)
 
float Compute_Projected_Sphere_Radius (float dist, float radius)
 
void Apply (void)
 
- Public Member Functions inherited from RenderObjClass
 RenderObjClass (void)
 
 RenderObjClass (const RenderObjClass &src)
 
RenderObjClassoperator= (const RenderObjClass &)
 
virtual ~RenderObjClass (void)
 
virtual const char * Get_Name (void) const
 
virtual void Set_Name (const char *name)
 
virtual const char * Get_Base_Model_Name (void) const
 
virtual void Set_Base_Model_Name (const char *name)
 
virtual int Get_Num_Polys (void) const
 
virtual void Special_Render (SpecialRenderInfoClass &rinfo)
 
virtual void On_Frame_Update ()
 
virtual void Restart (void)
 
virtual void Add (SceneClass *scene)
 
virtual void Remove (void)
 
virtual SceneClassGet_Scene (void)
 
virtual SceneClassPeek_Scene (void)
 
virtual void Set_Container (RenderObjClass *con)
 
virtual void Validate_Transform (void) const
 
RenderObjClassGet_Container (void) const
 
const Matrix3DGet_Transform (void) const
 
const Matrix3DGet_Transform (bool &is_transform_identity) const
 
const Matrix3DGet_Transform_No_Validity_Check (void) const
 
const Matrix3DGet_Transform_No_Validity_Check (bool &is_transform_identity) const
 
bool Is_Transform_Identity () const
 
bool Is_Transform_Identity_No_Validity_Check () const
 
Vector3 Get_Position (void) const
 
virtual void Notify_Added (SceneClass *scene)
 
virtual void Notify_Removed (SceneClass *scene)
 
virtual int Get_Num_Sub_Objects (void) const
 
virtual RenderObjClassGet_Sub_Object (int index) const
 
virtual int Add_Sub_Object (RenderObjClass *subobj)
 
virtual int Remove_Sub_Object (RenderObjClass *robj)
 
virtual RenderObjClassGet_Sub_Object_By_Name (const char *name, int *index=NULL) const
 
virtual int Get_Num_Sub_Objects_On_Bone (int boneindex) const
 
virtual RenderObjClassGet_Sub_Object_On_Bone (int index, int boneindex) const
 
virtual int Get_Sub_Object_Bone_Index (RenderObjClass *subobj) const
 
virtual int Get_Sub_Object_Bone_Index (int LodIndex, int ModelIndex) const
 
virtual int Add_Sub_Object_To_Bone (RenderObjClass *subobj, int bone_index)
 
virtual int Add_Sub_Object_To_Bone (RenderObjClass *subobj, const char *bname)
 
virtual int Remove_Sub_Objects_From_Bone (int boneindex)
 
virtual int Remove_Sub_Objects_From_Bone (const char *bname)
 
virtual void Update_Sub_Object_Transforms (void)
 
virtual void Set_Animation (void)
 
virtual void Set_Animation (HAnimClass *motion, float frame, int anim_mode=ANIM_MODE_MANUAL)
 
virtual void Set_Animation (HAnimClass *motion0, float frame0, HAnimClass *motion1, float frame1, float percentage)
 
virtual void Set_Animation (HAnimComboClass *anim_combo)
 
virtual HAnimClassPeek_Animation (void)
 
virtual int Get_Num_Bones (void)
 
virtual const char * Get_Bone_Name (int bone_index)
 
virtual int Get_Bone_Index (const char *bonename)
 
virtual const Matrix3DGet_Bone_Transform (const char *bonename)
 
virtual const Matrix3DGet_Bone_Transform (int boneindex)
 
virtual void Capture_Bone (int bindex)
 
virtual void Release_Bone (int bindex)
 
virtual bool Is_Bone_Captured (int bindex) const
 
virtual void Control_Bone (int bindex, const Matrix3D &objtm, bool world_space_translation=false)
 
virtual const HTreeClassGet_HTree (void) const
 
virtual bool Cast_Ray (RayCollisionTestClass &raytest)
 
virtual bool Cast_AABox (AABoxCollisionTestClass &boxtest)
 
virtual bool Cast_OBBox (OBBoxCollisionTestClass &boxtest)
 
virtual bool Intersect_AABox (AABoxIntersectionTestClass &boxtest)
 
virtual bool Intersect_OBBox (OBBoxIntersectionTestClass &boxtest)
 
virtual bool Intersect (IntersectionClass *Intersection, IntersectionResultClass *Final_Result)
 
virtual bool Intersect_Sphere (IntersectionClass *Intersection, IntersectionResultClass *Final_Result)
 
virtual bool Intersect_Sphere_Quick (IntersectionClass *Intersection, IntersectionResultClass *Final_Result)
 
virtual const SphereClassGet_Bounding_Sphere (void) const
 
virtual const AABoxClassGet_Bounding_Box (void) const
 
virtual void Update_Obj_Space_Bounding_Volumes (void)
 
virtual void Prepare_LOD (CameraClass &camera)
 
virtual void Recalculate_Static_LOD_Factors (void)
 
virtual void Increment_LOD (void)
 
virtual void Decrement_LOD (void)
 
virtual float Get_Cost (void) const
 
virtual float Get_Value (void) const
 
virtual float Get_Post_Increment_Value (void) const
 
virtual void Set_LOD_Level (int lod)
 
virtual int Get_LOD_Level (void) const
 
virtual int Get_LOD_Count (void) const
 
virtual void Set_LOD_Bias (float bias)
 
virtual int Calculate_Cost_Value_Arrays (float screen_area, float *values, float *costs) const
 
virtual RenderObjClassGet_Current_LOD (void)
 
virtual bool Build_Dependency_List (DynamicVectorClass< StringClass > &file_list, bool recursive=true)
 
virtual bool Build_Texture_List (DynamicVectorClass< StringClass > &texture_file_list, bool recursive=true)
 
virtual void Create_Decal (DecalGeneratorClass *generator)
 
virtual void Delete_Decal (uint32 decal_id)
 
virtual MaterialInfoClassGet_Material_Info (void)
 
virtual void Set_User_Data (void *value, bool recursive=false)
 
virtual void * Get_User_Data ()
 
virtual int Get_Num_Snap_Points (void)
 
virtual void Get_Snap_Point (int index, Vector3 *set)
 
virtual float Get_Screen_Size (CameraClass &camera)
 
virtual void Scale (float scale)
 
virtual void Scale (float scalex, float scaley, float scalez)
 
virtual void Set_ObjectScale (float scale)
 
const float Get_ObjectScale (void) const
 
void Set_ObjectColor (unsigned int color)
 
const unsigned int Get_ObjectColor (void) const
 
virtual int Get_Sort_Level (void) const
 
virtual void Set_Sort_Level (int level)
 
virtual int Is_Really_Visible (void)
 
virtual int Is_Not_Hidden_At_All (void)
 
virtual int Is_Visible (void) const
 
virtual void Set_Visible (int onoff)
 
virtual int Is_Hidden (void) const
 
virtual void Set_Hidden (int onoff)
 
virtual int Is_Animation_Hidden (void) const
 
virtual void Set_Animation_Hidden (int onoff)
 
virtual int Is_Force_Visible (void) const
 
virtual void Set_Force_Visible (int onoff)
 
virtual int Is_Translucent (void) const
 
virtual void Set_Translucent (int onoff)
 
virtual int Is_Alpha (void) const
 
virtual void Set_Alpha (int onoff)
 
virtual int Is_Additive (void) const
 
virtual void Set_Additive (int onoff)
 
virtual int Get_Collision_Type (void) const
 
virtual void Set_Collision_Type (int type)
 
virtual bool Is_Complete (void)
 
virtual bool Is_In_Scene (void)
 
virtual float Get_Native_Screen_Size (void) const
 
virtual void Set_Native_Screen_Size (float screensize)
 
void Set_Sub_Objects_Match_LOD (int onoff)
 
int Is_Sub_Objects_Match_LOD_Enabled (void)
 
void Set_Sub_Object_Transforms_Dirty (bool onoff)
 
bool Are_Sub_Object_Transforms_Dirty (void)
 
void Set_Ignore_LOD_Cost (bool onoff)
 
bool Is_Ignoring_LOD_Cost (void)
 
void Set_Is_Self_Shadowed ()
 
void Unset_Is_Self_Shadowed ()
 
int Is_Self_Shadowed () const
 
virtual const PersistFactoryClassGet_Factory (void) const
 
virtual bool Save (ChunkSaveClass &csave)
 
virtual bool Load (ChunkLoadClass &cload)
 
RenderHookClassGet_Render_Hook (void)
 
void Set_Render_Hook (RenderHookClass *hook)
 
- Public Member Functions inherited from RefCountClass
 RefCountClass (void)
 
 RefCountClass (const RefCountClass &)
 
void Add_Ref (void) const
 
WWINLINE void Release_Ref (void) const
 
int Num_Refs (void) const
 
virtual void Delete_This (void)
 
- Public Member Functions inherited from PostLoadableClass
 PostLoadableClass (void)
 
virtual ~PostLoadableClass (void)
 
virtual void On_Post_Load (void)
 
bool Is_Post_Load_Registered (void)
 
void Set_Post_Load_Registered (bool onoff)
 
- Public Member Functions inherited from MultiListObjectClass
 MultiListObjectClass (void)
 
virtual ~MultiListObjectClass (void)
 
MultiListNodeClassGet_List_Node () const
 
void Set_List_Node (MultiListNodeClass *node)
 

Static Public Member Functions

static void Convert_Old (Vector3 &pos)
 
- Static Public Member Functions inherited from RefCountClass
static int Total_Refs (void)
 
static RefCountClassAdd_Active_Ref (RefCountClass *obj)
 
static RefCountClassSet_Ref_Owner (RefCountClass *obj, char *file, int line)
 
static void Remove_Active_Ref (RefCountClass *obj)
 
static bool Validate_Active_Ref (RefCountClass *obj)
 

Protected Member Functions

void Update_Frustum (void) const
 
- Protected Member Functions inherited from RenderObjClass
virtual void Add_Dependencies_To_List (DynamicVectorClass< StringClass > &file_list, bool textures_only=false)
 
virtual void Update_Cached_Bounding_Volumes (void) const
 
virtual void Update_Sub_Object_Bits (void)
 
bool Bounding_Volumes_Valid (void) const
 
void Invalidate_Cached_Bounding_Volumes (void) const
 
void Validate_Cached_Bounding_Volumes (void) const
 
- Protected Member Functions inherited from RefCountClass
virtual ~RefCountClass (void)
 

Protected Attributes

ProjectionType Projection
 
ViewportClass Viewport
 
ViewportClass ViewPlane
 
float AspectRatio
 
float ZNear
 
float ZFar
 
float ZBufferMin
 
float ZBufferMax
 
bool FrustumValid
 
FrustumClass Frustum
 
FrustumClass ViewSpaceFrustum
 
OBBoxClass NearClipBBox
 
Matrix4x4 ProjectionTransform
 
Matrix3D CameraInvTransform
 
- Protected Attributes inherited from RenderObjClass
unsigned long Bits
 
Matrix3D Transform
 
float ObjectScale
 
unsigned int ObjectColor
 
SphereClass CachedBoundingSphere
 
AABoxClass CachedBoundingBox
 
float NativeScreenSize
 
bool IsTransformIdentity
 
SceneClassScene
 
RenderObjClassContainer
 
void * User_Data
 
RenderHookClassRenderHook
 

Additional Inherited Members

- Public Attributes inherited from RefCountClass
RefCountNodeClass ActiveRefNode
 
ActiveRefStruct ActiveRefInfo
 
- Static Public Attributes inherited from RenderObjClass
static const float AT_MIN_LOD = FLT_MAX
 
static const float AT_MAX_LOD = -1.0f
 
- Static Public Attributes inherited from RefCountClass
static RefCountListClass ActiveRefList
 
- Protected Types inherited from RenderObjClass
enum  {
  COLL_TYPE_MASK = 0x000000FF , IS_VISIBLE = 0x00000100 , IS_NOT_HIDDEN = 0x00000200 , IS_NOT_ANIMATION_HIDDEN = 0x00000400 ,
  IS_FORCE_VISIBLE = 0x00000800 , BOUNDING_VOLUMES_VALID = 0x00002000 , IS_TRANSLUCENT = 0x00004000 , IGNORE_LOD_COST = 0x00008000 ,
  SUBOBJS_MATCH_LOD = 0x00010000 , SUBOBJ_TRANSFORMS_DIRTY = 0x00020000 , IS_ALPHA = 0x00040000 , IS_ADDITIVE = 0x00100000 ,
  IS_SELF_SHADOWED = 0x00080000 , IS_CHEATER = 0x00100000 , IS_REALLY_VISIBLE = IS_VISIBLE | IS_NOT_HIDDEN | IS_NOT_ANIMATION_HIDDEN , IS_NOT_HIDDEN_AT_ALL = IS_NOT_HIDDEN | IS_NOT_ANIMATION_HIDDEN ,
  DEFAULT_BITS = COLL_TYPE_ALL | IS_NOT_HIDDEN | IS_NOT_ANIMATION_HIDDEN
}
 

Detailed Description

CameraClass This object controls how vertices are transformed from world-space to view space, the parameters of the perspective projection, and the viewport on screen that the result is mapped into.

Cameras are not "rendered" and do not need to be "added" to a scene. A CameraClass is passed into the WW3D::Render(...) function. The reason they are render objects is so that they can be inserted onto the bone of some animation and move with the animation...

For all of the projection functions (Matrix4x4, ProjectorClass (used by decals and texture projections), and CameraClass) I followed the OpenGL convention of passing positive distances for your clip planes even though in a right-handed coordinate system your z values are negative after transformation to camera space. So Set_Clip_Planes expects positive distances to your near and far clip planes.

(gth) We should probably separate CameraClass from RenderObjClass... In the case where a camera is using a transform from an animation; the programmer is usually requesting the transform and plugging it into the camera anyway.

Definition at line 107 of file camera.h.

Member Enumeration Documentation

◆ ProjectionResType

Enumerator
INSIDE_FRUSTUM 
OUTSIDE_FRUSTUM 
OUTSIDE_NEAR_CLIP 
OUTSIDE_FAR_CLIP 

Definition at line 117 of file camera.h.

◆ ProjectionType

Enumerator
PERSPECTIVE 
ORTHO 

Definition at line 111 of file camera.h.

Constructor & Destructor Documentation

◆ CameraClass() [1/2]

CameraClass::CameraClass ( void )

Definition at line 92 of file camera.cpp.

◆ CameraClass() [2/2]

CameraClass::CameraClass ( const CameraClass & src)

Definition at line 120 of file camera.cpp.

◆ ~CameraClass()

CameraClass::~CameraClass ( void )
virtual

Definition at line 189 of file camera.cpp.

Member Function Documentation

◆ Apply()

void CameraClass::Apply ( void )

Definition at line 719 of file camera.cpp.

◆ Class_ID()

virtual int CameraClass::Class_ID ( void ) const
inlinevirtual

Reimplemented from RenderObjClass.

Definition at line 130 of file camera.h.

◆ Clone()

RenderObjClass * CameraClass::Clone ( void ) const
virtual

Implements RenderObjClass.

Definition at line 206 of file camera.cpp.

◆ Compute_Projected_Sphere_Radius()

float CameraClass::Compute_Projected_Sphere_Radius ( float dist,
float radius )

Definition at line 826 of file camera.cpp.

◆ Convert_Old()

void CameraClass::Convert_Old ( Vector3 & pos)
static

Definition at line 820 of file camera.cpp.

◆ Cull_Box()

bool CameraClass::Cull_Box ( const AABoxClass & box) const

Definition at line 580 of file camera.cpp.

◆ Cull_Sphere()

bool CameraClass::Cull_Sphere ( const SphereClass & sphere) const
inline

Definition at line 308 of file camera.h.

◆ Cull_Sphere_On_Frustum_Sides()

bool CameraClass::Cull_Sphere_On_Frustum_Sides ( const SphereClass & sphere) const
inline

Definition at line 314 of file camera.h.

◆ Device_To_View_Space()

void CameraClass::Device_To_View_Space ( const Vector2 & device_coord,
Vector3 * view_coord )

Definition at line 661 of file camera.cpp.

◆ Device_To_World_Space()

void CameraClass::Device_To_World_Space ( const Vector2 & device_coord,
Vector3 * world_coord )

Definition at line 699 of file camera.cpp.

◆ Get_Aspect_Ratio()

float CameraClass::Get_Aspect_Ratio ( void ) const

Definition at line 767 of file camera.cpp.

◆ Get_Clip_Planes()

void CameraClass::Get_Clip_Planes ( float & znear,
float & zfar ) const

Definition at line 749 of file camera.cpp.

◆ Get_D3D_Projection_Matrix()

void CameraClass::Get_D3D_Projection_Matrix ( Matrix4x4 * set_tm)

Definition at line 780 of file camera.cpp.

◆ Get_Depth()

float CameraClass::Get_Depth ( void ) const
inline

Definition at line 259 of file camera.h.

◆ Get_Depth_Range()

void CameraClass::Get_Depth_Range ( float * set_zstart,
float * set_zend ) const
inline

Definition at line 293 of file camera.h.

◆ Get_Frustum()

const FrustumClass & CameraClass::Get_Frustum ( void ) const
inline

Definition at line 339 of file camera.h.

◆ Get_Frustum_Corners()

const Vector3 * CameraClass::Get_Frustum_Corners ( void ) const
inline

Definition at line 385 of file camera.h.

◆ Get_Frustum_Planes()

const PlaneClass * CameraClass::Get_Frustum_Planes ( void ) const
inline

Definition at line 358 of file camera.h.

◆ Get_Horizontal_FOV()

float CameraClass::Get_Horizontal_FOV ( void ) const

Definition at line 755 of file camera.cpp.

◆ Get_Near_Clip_Bounding_Box()

const OBBoxClass & CameraClass::Get_Near_Clip_Bounding_Box ( void ) const

Definition at line 561 of file camera.cpp.

◆ Get_Obj_Space_Bounding_Box()

void CameraClass::Get_Obj_Space_Bounding_Box ( AABoxClass & box) const
virtual

Reimplemented from RenderObjClass.

Definition at line 243 of file camera.cpp.

◆ Get_Obj_Space_Bounding_Sphere()

void CameraClass::Get_Obj_Space_Bounding_Sphere ( SphereClass & sphere) const
virtual

Reimplemented from RenderObjClass.

Definition at line 224 of file camera.cpp.

◆ Get_Projection_Matrix() [1/2]

void CameraClass::Get_Projection_Matrix ( Matrix4x4 * set_tm)

Definition at line 772 of file camera.cpp.

◆ Get_Projection_Matrix() [2/2]

const Matrix4x4 & CameraClass::Get_Projection_Matrix ( void )

Definition at line 808 of file camera.cpp.

◆ Get_Projection_Type()

CameraClass::ProjectionType CameraClass::Get_Projection_Type ( void )
inline

Definition at line 270 of file camera.h.

◆ Get_Vertical_FOV()

float CameraClass::Get_Vertical_FOV ( void ) const

Definition at line 761 of file camera.cpp.

◆ Get_View_Matrix() [1/2]

void CameraClass::Get_View_Matrix ( Matrix3D * set_tm)

Definition at line 801 of file camera.cpp.

◆ Get_View_Matrix() [2/2]

const Matrix3D & CameraClass::Get_View_Matrix ( void )

Definition at line 814 of file camera.cpp.

◆ Get_View_Plane()

void CameraClass::Get_View_Plane ( Vector2 & set_min,
Vector2 & set_max ) const

Definition at line 380 of file camera.cpp.

◆ Get_View_Space_Frustum()

const FrustumClass & CameraClass::Get_View_Space_Frustum ( void ) const
inline

Definition at line 404 of file camera.h.

◆ Get_View_Space_Frustum_Corners()

const Vector3 * CameraClass::Get_View_Space_Frustum_Corners ( void ) const
inline

Definition at line 449 of file camera.h.

◆ Get_View_Space_Frustum_Planes()

const PlaneClass * CameraClass::Get_View_Space_Frustum_Planes ( void ) const
inline

Definition at line 423 of file camera.h.

◆ Get_Viewport() [1/2]

void CameraClass::Get_Viewport ( Vector2 & set_min,
Vector2 & set_max ) const
inline

Definition at line 281 of file camera.h.

◆ Get_Viewport() [2/2]

const ViewportClass & CameraClass::Get_Viewport ( void ) const
inline

Definition at line 303 of file camera.h.

◆ Get_Zbuffer_Range()

void CameraClass::Get_Zbuffer_Range ( float & znear,
float & zfar ) const
inline

Definition at line 167 of file camera.h.

◆ operator=()

CameraClass & CameraClass::operator= ( const CameraClass & that)

Definition at line 153 of file camera.cpp.

◆ Project()

CameraClass::ProjectionResType CameraClass::Project ( Vector3 & dest,
const Vector3 & ws_point ) const

Definition at line 403 of file camera.cpp.

◆ Project_Camera_Space_Point()

CameraClass::ProjectionResType CameraClass::Project_Camera_Space_Point ( Vector3 & dest,
const Vector3 & cam_point ) const

Definition at line 449 of file camera.cpp.

◆ Render()

virtual void CameraClass::Render ( RenderInfoClass & rinfo)
inlinevirtual

Implements RenderObjClass.

Definition at line 135 of file camera.h.

◆ Rotate_To_View_Space()

void CameraClass::Rotate_To_View_Space ( Vector3 & dest,
const Vector3 & ws_vector ) const

Definition at line 541 of file camera.cpp.

◆ Set_Aspect_Ratio()

void CameraClass::Set_Aspect_Ratio ( float width_to_height)

Definition at line 359 of file camera.cpp.

◆ Set_Clip_Planes()

void CameraClass::Set_Clip_Planes ( float znear,
float zfar )

Definition at line 742 of file camera.cpp.

◆ Set_Depth_Range()

void CameraClass::Set_Depth_Range ( float zstart = 0.0f,
float zend = 1.0f )
inline

Definition at line 287 of file camera.h.

◆ Set_Position()

void CameraClass::Set_Position ( const Vector3 & v)
virtual

Reimplemented from RenderObjClass.

Definition at line 285 of file camera.cpp.

◆ Set_Projection_Type()

void CameraClass::Set_Projection_Type ( ProjectionType ptype)
inline

Definition at line 264 of file camera.h.

◆ Set_Transform()

void CameraClass::Set_Transform ( const Matrix3D & m)
virtual

Reimplemented from RenderObjClass.

Definition at line 264 of file camera.cpp.

◆ Set_View_Plane() [1/2]

void CameraClass::Set_View_Plane ( const Vector2 & min,
const Vector2 & max )

Definition at line 306 of file camera.cpp.

◆ Set_View_Plane() [2/2]

void CameraClass::Set_View_Plane ( float hfov,
float vfov = -1 )

Definition at line 327 of file camera.cpp.

◆ Set_Viewport()

void CameraClass::Set_Viewport ( const Vector2 & min,
const Vector2 & max )
inline

Definition at line 275 of file camera.h.

◆ Set_Zbuffer_Range()

void CameraClass::Set_Zbuffer_Range ( float znear,
float zfar )
inline

Definition at line 166 of file camera.h.

◆ Transform_To_View_Space()

void CameraClass::Transform_To_View_Space ( Vector3 & dest,
const Vector3 & ws_point ) const

Definition at line 522 of file camera.cpp.

◆ Un_Project()

void CameraClass::Un_Project ( Vector3 & dest,
const Vector2 & view_point ) const

Definition at line 492 of file camera.cpp.

◆ Update_Frustum()

void CameraClass::Update_Frustum ( void ) const
protected

Definition at line 599 of file camera.cpp.

Member Data Documentation

◆ AspectRatio

float CameraClass::AspectRatio
protected

Definition at line 244 of file camera.h.

◆ CameraInvTransform

Matrix3D CameraClass::CameraInvTransform
mutableprotected

Definition at line 255 of file camera.h.

◆ Frustum

FrustumClass CameraClass::Frustum
mutableprotected

Definition at line 251 of file camera.h.

◆ FrustumValid

bool CameraClass::FrustumValid
mutableprotected

Definition at line 250 of file camera.h.

◆ NearClipBBox

OBBoxClass CameraClass::NearClipBBox
mutableprotected

Definition at line 253 of file camera.h.

◆ Projection

ProjectionType CameraClass::Projection
protected

Definition at line 241 of file camera.h.

◆ ProjectionTransform

Matrix4x4 CameraClass::ProjectionTransform
mutableprotected

Definition at line 254 of file camera.h.

◆ ViewPlane

ViewportClass CameraClass::ViewPlane
protected

Definition at line 243 of file camera.h.

◆ Viewport

ViewportClass CameraClass::Viewport
protected

Definition at line 242 of file camera.h.

◆ ViewSpaceFrustum

FrustumClass CameraClass::ViewSpaceFrustum
mutableprotected

Definition at line 252 of file camera.h.

◆ ZBufferMax

float CameraClass::ZBufferMax
protected

Definition at line 248 of file camera.h.

◆ ZBufferMin

float CameraClass::ZBufferMin
protected

Definition at line 247 of file camera.h.

◆ ZFar

float CameraClass::ZFar
protected

Definition at line 246 of file camera.h.

◆ ZNear

float CameraClass::ZNear
protected

Definition at line 245 of file camera.h.


The documentation for this class was generated from the following files: