My Project
Public Member Functions | Public Attributes | List of all members
ParaEngine::GUIState Struct Reference

It's used as parameter to Render method of each GUI object. More...

#include <GUIState.h>

Public Member Functions

void AddToPostRenderingList (IObject *obj)
 
void CleanupGUIState ()
 
void BeginDepthTest (CGUIBase *pObject=NULL)
 draw calls between BeginDepthTest() and EndDepthTest() are rendered with depth enabled, such as for relative to 3d objects. More...
 
void EndDepthTest (CGUIBase *pObject=NULL)
 

Public Attributes

RenderDevicePtr pd3dDevice
 rendering device pointer
 
UINT nBkbufWidth
 back buffer width
 
UINT nBkbufHeight
 back buffer height
 
bool bIsBatchRender
 true if the it's currently performing batch rendering
 
double dTimeDelta
 
CPainterpainter
 current/root painter object. More...
 
int m_nDepthEnableCount
 
std::list< WeakPtrlistPostRenderingObjects
 listPostRenderingObjects: this is the general post rendering list. More...
 

Detailed Description

It's used as parameter to Render method of each GUI object.

Its only instance is in the GUIRoot object. It keeps track of all the intermediate results generated during game rendering. It might be used by game interface, environment simulator or AI, since most of the time we are only interested of computing object that is in the view.

Member Function Documentation

§ BeginDepthTest()

void ParaEngine::GUIState::BeginDepthTest ( CGUIBase pObject = NULL)

draw calls between BeginDepthTest() and EndDepthTest() are rendered with depth enabled, such as for relative to 3d objects.

Nested called are allowed and detected.

Member Data Documentation

§ listPostRenderingObjects

std::list<WeakPtr> ParaEngine::GUIState::listPostRenderingObjects

listPostRenderingObjects: this is the general post rendering list.

Objects in this list are sorted only by primary asset entity name. Texture entity is usually considered as the primary asset entity, since texture switch is most slow on GPU. The process goes like this: scan the list. For each items with the same texture as the first element in the list, render and remove it from the list. This goes on until the list is blank. When inserting items into the list, you can also sort while inserting. Note: post rendering are performed in the order listed above.

§ painter

CPainter* ParaEngine::GUIState::painter

current/root painter object.


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