RenderBinManager
Engine/source/renderInstance/renderBinManager.h
The RenderBinManager manages and renders lists of MainSortElem, which is a light wrapper around RenderInst.
Classes:
Private Types
Parent
Public Friends
class
Protected Attributes
bool
The list of additional render instance types this bin wants to process.
The primary render instance type this bin supports.
The render pass manager this bin is registered with.
Public Functions
RenderBinManager(const RenderInstType & ritype, F32 renderOrder, F32 processAddOrder)
addElement(RenderInst * inst)
Returns the primary render instance type.
Returns the render pass this bin is registered to.
render(SceneRenderState * state)
setProcessAddOrder(F32 processAddOrder)
setRenderOrder(F32 renderOrder)
Public Static Functions
Protected Functions
getMaterial(RenderInst * inst)
Inlined utility function which gets the material from the RenderInst if available, otherwise, return NULL.
internalAddElement(RenderInst * inst)
bool
newPassNeeded(MeshRenderInst * ri, MeshRenderInst * nextRI)
A inlined helper method for testing if the next MeshRenderInst requires a new batch/pass.
notifyType(const RenderInstType & type)
Called from derived bins to add additional render instance types to be notified about.
setRenderPass(RenderPassManager * rpm)
setupSGData(MeshRenderInst * ri, SceneData & data)
Detailed Description
The RenderBinManager manages and renders lists of MainSortElem, which is a light wrapper around RenderInst.
Private Types
typedef SimObject Parent
Public Friends
Protected Attributes
bool mBasicOnly
Vector< MainSortElem > mElementList
MaterialOverrideDelegate mMatOverrideDelegate
Vector< RenderInstType > mOtherTypes
The list of additional render instance types this bin wants to process.
F32 mProcessAddOrder
RenderInstType mRenderInstType
The primary render instance type this bin supports.
F32 mRenderOrder
RenderPassManager * mRenderPass
The render pass manager this bin is registered with.
Public Functions
RenderBinManager(const RenderInstType & ritype, F32 renderOrder, F32 processAddOrder)
~RenderBinManager()
addElement(RenderInst * inst)
Reimplemented by: afxRenderHighlightMgr, RenderDeferredMgr, RenderGlowMgr, RenderMeshMgr, RenderParticleMgr, RenderProbeMgr, RenderTranslucentMgr
clear()
Reimplemented by: afxZodiacGroundPlaneRenderer, afxZodiacMeshRoadRenderer, afxZodiacPolysoupRenderer, afxZodiacTerrainRenderer, AdvancedLightBinManager, RenderDeferredMgr, RenderParticleMgr, RenderPassStateBin, RenderTerrainMgr
DECLARE_CONOBJECT(RenderBinManager )
getMatOverrideDelegate()
getProcessAddOrder()
getRenderInstType()
Returns the primary render instance type.
getRenderOrder()
getRenderPass()
Returns the render pass this bin is registered to.
onRemove()
Reimplemented from: SimObject
Reimplemented by: RenderProbeMgr
render(SceneRenderState * state)
Reimplemented by: afxZodiacMeshRoadRenderer, afxZodiacPolysoupRenderer, afxZodiacTerrainRenderer, AdvancedLightBinManager, afxRenderHighlightMgr, afxZodiacGroundPlaneRenderer, ForcedMaterialMeshMgr, RenderDeferredMgr, RenderGlowMgr, RenderImposterMgr, RenderMeshMgr, RenderObjectMgr, RenderOcclusionMgr, RenderParticleMgr, RenderPassStateBin, RenderProbeMgr, RenderTerrainMgr, RenderTranslucentMgr
setProcessAddOrder(F32 processAddOrder)
setRenderOrder(F32 renderOrder)
sort()
Reimplemented by: afxZodiacGroundPlaneRenderer, afxZodiacMeshRoadRenderer, afxZodiacPolysoupRenderer, afxZodiacTerrainRenderer, AdvancedLightBinManager, RenderDeferredMgr, RenderParticleMgr, RenderPassStateBin, RenderTerrainMgr
Public Static Functions
cmpKeyFunc(const void * p1, const void * p2)
QSort callback function.
initPersistFields()
Protected Functions
getMaterial(RenderInst * inst)
Inlined utility function which gets the material from the RenderInst if available, otherwise, return NULL.
internalAddElement(RenderInst * inst)
Reimplemented by: RenderTerrainMgr
newPassNeeded(MeshRenderInst * ri, MeshRenderInst * nextRI)
A inlined helper method for testing if the next MeshRenderInst requires a new batch/pass.
notifyType(const RenderInstType & type)
Called from derived bins to add additional render instance types to be notified about.
setRenderPass(RenderPassManager * rpm)
setupSGData(MeshRenderInst * ri, SceneData & data)
Reimplemented by: RenderTranslucentMgr