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

#include <scene.h>

Inherits SceneClass.

Inherited by RTS2DScene, RTS3DInterfaceScene, and RTS3DScene.

Public Member Functions

 SimpleSceneClass (void)
 
virtual ~SimpleSceneClass (void)
 
virtual int Get_Scene_ID (void)
 
virtual void Add_Render_Object (RenderObjClass *obj)
 
virtual void Remove_Render_Object (RenderObjClass *obj)
 
virtual void Remove_All_Render_Objects (void)
 
virtual void Register (RenderObjClass *obj, RegType for_what)
 
virtual void Unregister (RenderObjClass *obj, RegType for_what)
 
virtual SceneIteratorCreate_Iterator (bool onlyvisible=false)
 
virtual void Destroy_Iterator (SceneIterator *it)
 
virtual void Visibility_Check (CameraClass *camera)
 
virtual float Compute_Point_Visibility (RenderInfoClass &rinfo, const Vector3 &point)
 
- Public Member Functions inherited from SceneClass
 SceneClass (void)
 
virtual ~SceneClass (void)
 
virtual int Get_Scene_ID (void) const
 
virtual void Set_Ambient_Light (const Vector3 &color)
 
virtual const Vector3Get_Ambient_Light (void)
 
virtual void Set_Fog_Enable (bool set)
 
virtual bool Get_Fog_Enable (void)
 
virtual void Set_Fog_Color (const Vector3 &color)
 
virtual const Vector3Get_Fog_Color (void)
 
virtual void Set_Fog_Range (float start, float end)
 
virtual void Get_Fog_Range (float *start, float *end)
 
void Set_Polygon_Mode (PolyRenderType mode)
 
PolyRenderType Get_Polygon_Mode (void)
 
void Set_Extra_Pass_Polygon_Mode (ExtraPassPolyRenderType mode)
 
ExtraPassPolyRenderType Get_Extra_Pass_Polygon_Mode (void)
 
virtual void Save (ChunkSaveClass &csave)
 
virtual void Load (ChunkLoadClass &cload)
 
- 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)
 

Protected Member Functions

virtual void Customized_Render (RenderInfoClass &rinfo)
 
virtual void Post_Render_Processing (RenderInfoClass &rinfo)
 
- Protected Member Functions inherited from SceneClass
virtual void Render (RenderInfoClass &rinfo)
 
 SceneClass (const SceneClass &)
 
SceneClassoperator== (const SceneClass &)
 
- Protected Member Functions inherited from RefCountClass
virtual ~RefCountClass (void)
 

Protected Attributes

bool Visibility_Checked
 
RefRenderObjListClass RenderList
 
RefRenderObjListClass UpdateList
 
RefRenderObjListClass LightList
 
RefRenderObjListClass ReleaseList
 
- Protected Attributes inherited from SceneClass
Vector3 AmbientLight
 
PolyRenderType PolyRenderMode
 
ExtraPassPolyRenderType ExtraPassPolyRenderMode
 
bool FogEnabled
 
Vector3 FogColor
 
float FogStart
 
float FogEnd
 

Friends

class SimpleSceneIterator
 

Additional Inherited Members

- Public Types inherited from SceneClass
enum  { SCENE_ID_UNKOWN = 0xFFFFFFFF , SCENE_ID_SCENE = 0 , SCENE_ID_SIMPLE , SCENE_ID_LAST = 0x0000FFFF }
 
enum  PolyRenderType { POINT , LINE , FILL }
 
enum  ExtraPassPolyRenderType { EXTRA_PASS_DISABLE , EXTRA_PASS_LINE , EXTRA_PASS_CLEAR_LINE }
 
enum  RegType { ON_FRAME_UPDATE = 0 , LIGHT , RELEASE }
 
- 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)
 
- Public Attributes inherited from RefCountClass
RefCountNodeClass ActiveRefNode
 
ActiveRefStruct ActiveRefInfo
 
- Static Public Attributes inherited from RefCountClass
static RefCountListClass ActiveRefList
 

Detailed Description

SimpleSceneClass This is an example of a simple way to implement a scene class which can be rendered by WW3D. Basically it stores a list of render objects When the Render function is called, it checks each object against the view frustum an marks it as visible or invisible. Then it performs some LOD calculations on all of the visible objects, then has each render object add its internal (surrender) representation to the internal (surrender) representation of the scene.

Definition at line 223 of file scene.h.

Constructor & Destructor Documentation

◆ SimpleSceneClass()

SimpleSceneClass::SimpleSceneClass ( void )

Definition at line 323 of file scene.cpp.

◆ ~SimpleSceneClass()

SimpleSceneClass::~SimpleSceneClass ( void )
virtual

Definition at line 341 of file scene.cpp.

Member Function Documentation

◆ Add_Render_Object()

void SimpleSceneClass::Add_Render_Object ( RenderObjClass * obj)
virtual

Reimplemented from SceneClass.

Definition at line 382 of file scene.cpp.

◆ Compute_Point_Visibility()

float SimpleSceneClass::Compute_Point_Visibility ( RenderInfoClass & rinfo,
const Vector3 & point )
virtual

Reimplemented from SceneClass.

Definition at line 496 of file scene.cpp.

◆ Create_Iterator()

SceneIterator * SimpleSceneClass::Create_Iterator ( bool onlyvisible = false)
virtual

Implements SceneClass.

Definition at line 652 of file scene.cpp.

◆ Customized_Render()

void SimpleSceneClass::Customized_Render ( RenderInfoClass & rinfo)
protectedvirtual

Implements SceneClass.

Reimplemented in RTS2DScene, RTS3DInterfaceScene, and RTS3DScene.

Definition at line 535 of file scene.cpp.

◆ Destroy_Iterator()

void SimpleSceneClass::Destroy_Iterator ( SceneIterator * it)
virtual

Implements SceneClass.

Definition at line 671 of file scene.cpp.

◆ Get_Scene_ID()

virtual int SimpleSceneClass::Get_Scene_ID ( void )
inlinevirtual

Definition at line 230 of file scene.h.

◆ Post_Render_Processing()

void SimpleSceneClass::Post_Render_Processing ( RenderInfoClass & rinfo)
protectedvirtual

Reimplemented from SceneClass.

Definition at line 619 of file scene.cpp.

◆ Register()

void SimpleSceneClass::Register ( RenderObjClass * obj,
RegType for_what )
virtual

Implements SceneClass.

Definition at line 410 of file scene.cpp.

◆ Remove_All_Render_Objects()

void SimpleSceneClass::Remove_All_Render_Objects ( void )
virtual

Definition at line 361 of file scene.cpp.

◆ Remove_Render_Object()

void SimpleSceneClass::Remove_Render_Object ( RenderObjClass * obj)
virtual

Reimplemented from SceneClass.

Reimplemented in SkeletonSceneClass.

Definition at line 401 of file scene.cpp.

◆ Unregister()

void SimpleSceneClass::Unregister ( RenderObjClass * obj,
RegType for_what )
virtual

Implements SceneClass.

Definition at line 425 of file scene.cpp.

◆ Visibility_Check()

void SimpleSceneClass::Visibility_Check ( CameraClass * camera)
virtual

Reimplemented in RTS3DScene.

Definition at line 455 of file scene.cpp.

Friends And Related Symbol Documentation

◆ SimpleSceneIterator

friend class SimpleSceneIterator
friend

Definition at line 263 of file scene.h.

Member Data Documentation

◆ LightList

RefRenderObjListClass SimpleSceneClass::LightList
protected

Definition at line 260 of file scene.h.

◆ ReleaseList

RefRenderObjListClass SimpleSceneClass::ReleaseList
protected

Definition at line 261 of file scene.h.

◆ RenderList

RefRenderObjListClass SimpleSceneClass::RenderList
protected

Definition at line 258 of file scene.h.

◆ UpdateList

RefRenderObjListClass SimpleSceneClass::UpdateList
protected

Definition at line 259 of file scene.h.

◆ Visibility_Checked

bool SimpleSceneClass::Visibility_Checked
protected

Definition at line 256 of file scene.h.


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