28#ifndef HPL_RENDER_LIST_H
29#define HPL_RENDER_LIST_H
31#include "hpl1/engine/graphics/GraphicsTypes.h"
32#include "hpl1/engine/graphics/Material.h"
33#include "hpl1/engine/graphics/OcclusionQuery.h"
34#include "hpl1/engine/graphics/VertexBuffer.h"
35#include "hpl1/engine/math/MathTypes.h"
36#include "hpl1/engine/scene/Light3D.h"
37#include "hpl1/engine/system/SystemTypes.h"
38#include "hpl1/std/multiset.h"
39#include "hpl1/std/set.h"
52enum eRenderListDrawType {
53 eRenderListDrawType_Normal,
54 eRenderListDrawType_Trans,
55 eRenderListDrawType_LastEnum
68typedef tRenderNodeSet::iterator tRenderNodeSetIt;
78 void DeleteChildren();
90typedef tMotionBlurObjectSet::iterator tMotionBlurObjectSetIt;
93 tMotionBlurObjectSetIt>
104typedef tTransperantObjectSet::iterator tTransperantObjectSetIt;
126typedef tOcclusionQueryObjectSet::iterator tOcclusionQueryObjectSetIt;
129 tOcclusionQueryObjectSetIt>
135typedef tRenderableSet::iterator tRenderableSetIt;
138typedef tLight3DSet::iterator tLight3DSetIt;
150 void SetCamera(
cCamera3D *apCamera) { mpCamera = apCamera; }
151 cCamera3D *GetCamera() {
return mpCamera; }
172 int GetRenderCount() {
return mlRenderCount; }
173 int GetLastRenderCount() {
return mlLastRenderCount; }
175 int GetLightObjects(
int alLightIdx) {
return mvObjectsPerLight[alLightIdx]; }
177 void SetFrameTime(
float afTime) { mfFrameTime = afTime; }
179 cRenderNode *GetRootNode(eRenderListDrawType aObjectType, eMaterialRenderType aPassType,
int alLightNum);
181 static inline int GetGlobalRenderCount() {
return mlGlobalRenderCount; }
186 void AddToTree(
iRenderable *apObject, eRenderListDrawType aObjectType,
187 eMaterialRenderType mPassType,
int alLightNum,
iLight3D *apLight,
188 bool abUseDepth,
int alPass);
190 static int mlGlobalRenderCount;
193 int mvObjectsPerLight[MAX_NUM_OF_LIGHTS];
210 int mlLastRenderCount;
Definition: Camera3D.h:53
Definition: Graphics.h:46
Definition: SystemTypes.h:262
Definition: RenderList.h:84
Definition: RenderList.h:120
Definition: RenderList.h:110
Definition: RenderList.h:145
Definition: RenderList.h:62
Definition: RenderList.h:70
Definition: Renderer3D.h:77
Definition: SystemTypes.h:411
Definition: RenderList.h:98
Definition: Light3D.h:117
Definition: OcclusionQuery.h:33
Definition: RenderState.h:62
Definition: Renderable.h:70
Definition: VertexBuffer.h:90