Files
GTASource/game/renderer/renderListGroup.h
expvintl 419f2e4752 init
2025-02-23 17:40:52 +08:00

53 lines
1.3 KiB
C++

// Title : RenderListGroup.h
// Authors : John Whyte, Alessandro Piva
// Started : 31/07/2006
#ifndef RENDERLISTGROUP_H
#define RENDERLISTGROUP_H 1
#include "fwrenderer/renderlistgroup.h"
////////////////////////////////
// Constants and enumerations //
////////////////////////////////
enum {
MAX_NUM_RENDER_PHASES = 24, // assuming a max of 24 renderphases - careful here because we need to store 1 bit per phase for lots of vis stuff
};
enum RenderPassId
{
RPASS_VISIBLE, //opaque
RPASS_LOD, //opaque
RPASS_CUTOUT,
RPASS_DECAL,
RPASS_FADING, //now includes screen door and alpha fade
RPASS_ALPHA,
RPASS_WATER,
RPASS_TREE,
RPASS_NUM_RENDER_PASSES
};
enum RenderPhaseType
{
RPTYPE_SHADOW,
RPTYPE_REFLECTION,
RPTYPE_MAIN, // For GBuf phase and the like
RPTYPE_STREAMING,
RPTYPE_HEIGHTMAP,
RPTYPE_DEBUG,
RPTYPE_NUM_RENDER_PHASE_TYPES
};
class CGtaRenderListGroup
{
public:
static void Init(unsigned initMode);
// Use this version if you are adding entities during the sort job - they will be added to an intermediate list and then added to the
// render list once the sort job completes
static void DeferredAddEntity(int list, fwEntity* pEntity, u32 subphaseVisFlags, float sortVal, fwRenderPassId id, u16 flags);
static void ProcessDeferredAdditions();
};
#endif // defined RENDERLISTGROUP_H