|
| | CameraClass (void) |
| |
| | CameraClass (const CameraClass &src) |
| |
| CameraClass & | operator= (const CameraClass &) |
| |
| virtual | ~CameraClass (void) |
| |
| virtual RenderObjClass * | Clone (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 Matrix4x4 & | Get_Projection_Matrix (void) |
| |
| const Matrix3D & | Get_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 ViewportClass & | Get_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 FrustumClass & | Get_Frustum (void) const |
| |
| const PlaneClass * | Get_Frustum_Planes (void) const |
| |
| const Vector3 * | Get_Frustum_Corners (void) const |
| |
| const FrustumClass & | Get_View_Space_Frustum (void) const |
| |
| const PlaneClass * | Get_View_Space_Frustum_Planes (void) const |
| |
| const Vector3 * | Get_View_Space_Frustum_Corners (void) const |
| |
| const OBBoxClass & | Get_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) |
| |
| | RenderObjClass (void) |
| |
| | RenderObjClass (const RenderObjClass &src) |
| |
| RenderObjClass & | operator= (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 SceneClass * | Get_Scene (void) |
| |
| virtual SceneClass * | Peek_Scene (void) |
| |
| virtual void | Set_Container (RenderObjClass *con) |
| |
| virtual void | Validate_Transform (void) const |
| |
| RenderObjClass * | Get_Container (void) const |
| |
| const Matrix3D & | Get_Transform (void) const |
| |
| const Matrix3D & | Get_Transform (bool &is_transform_identity) const |
| |
| const Matrix3D & | Get_Transform_No_Validity_Check (void) const |
| |
| const Matrix3D & | Get_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 RenderObjClass * | Get_Sub_Object (int index) const |
| |
| virtual int | Add_Sub_Object (RenderObjClass *subobj) |
| |
| virtual int | Remove_Sub_Object (RenderObjClass *robj) |
| |
| virtual RenderObjClass * | Get_Sub_Object_By_Name (const char *name, int *index=NULL) const |
| |
| virtual int | Get_Num_Sub_Objects_On_Bone (int boneindex) const |
| |
| virtual RenderObjClass * | Get_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 HAnimClass * | Peek_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 Matrix3D & | Get_Bone_Transform (const char *bonename) |
| |
| virtual const Matrix3D & | Get_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 HTreeClass * | Get_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 SphereClass & | Get_Bounding_Sphere (void) const |
| |
| virtual const AABoxClass & | Get_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 RenderObjClass * | Get_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 MaterialInfoClass * | Get_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 PersistFactoryClass & | Get_Factory (void) const |
| |
| virtual bool | Save (ChunkSaveClass &csave) |
| |
| virtual bool | Load (ChunkLoadClass &cload) |
| |
| RenderHookClass * | Get_Render_Hook (void) |
| |
| void | Set_Render_Hook (RenderHookClass *hook) |
| |
| | 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) |
| |
| | PostLoadableClass (void) |
| |
| virtual | ~PostLoadableClass (void) |
| |
| virtual void | On_Post_Load (void) |
| |
| bool | Is_Post_Load_Registered (void) |
| |
| void | Set_Post_Load_Registered (bool onoff) |
| |
| | MultiListObjectClass (void) |
| |
| virtual | ~MultiListObjectClass (void) |
| |
| MultiListNodeClass * | Get_List_Node () const |
| |
| void | Set_List_Node (MultiListNodeClass *node) |
| |
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.