Torque3D Documentation / _generateds / RenderPassManager

RenderPassManager

Engine/source/renderInstance/renderPassManager.h

More...

Allocation interface

enum
SharedTransformType {
  View 
  Projection 
}
T *

Allocate a render instance, use like so: MyRenderInstType* t = gRenderInstMgr->allocInst(); Valid until ::clear called.

Allocate a matrix, valid until ::clear called.

Allocate a GFXPrimitive object which will remain valid until the pass manager is cleared.

RenderBinManager interface

Add a render bin manager to the list of render bin manager, this SceneRenderPassManager now owns the render bin manager and will free it when needed.

Removes a manager from render and process add lists.

How many render bin managers do we have?

Get the render manager at i.

Public Types

AddInstSignal 
Signal< void(RenderBinManager *bin, const SceneRenderState *state, bool preRender)>
RenderBinEventSignal 

This signal is triggered when a render bin is about to be rendered.

Private Types

Parent 

Protected Types

Public Functions

Add a RenderInstance to the list.

Resets our allocated RenderInstances and Matrices. (Normally, one should just call renderPass)

Returns the active depth buffer for this pass (NOTE: This value may be GFXTextureTarget::sDefaultDepthStencil)

Get scene manager which this render pass belongs to.

Renders the list of RenderInsts (Normally, one should just call renderPass)

Assigns the value for the above method.

sort()

Sorts the list of RenderInst's per bin. (Normally, one should just call renderPass)

Protected Functions

_insertSort(Vector< RenderBinManager * > & list, RenderBinManager * mgr, bool renderOrder)

Do a sorted insert into a vector, renderOrder bool controls which test we run for insertion.

Detailed Description

Allocation interface

SharedTransformType

Enumerator

View
Projection
allocInst()

Allocate a render instance, use like so: MyRenderInstType* t = gRenderInstMgr->allocInst(); Valid until ::clear called.

allocUniqueXform(const MatrixF & data)

Allocate a matrix, valid until ::clear called.

allocSharedXform(SharedTransformType stt)

assignSharedXform(SharedTransformType stt, const MatrixF & xfm)

getMatrixSet()

allocPrim()

Allocate a GFXPrimitive object which will remain valid until the pass manager is cleared.

RenderBinManager interface

addManager(RenderBinManager * mgr)

Add a render bin manager to the list of render bin manager, this SceneRenderPassManager now owns the render bin manager and will free it when needed.

Parameters:

mgr

Render manager to add

processAddOrder

Where to add the manager in the addInst list, set to NO_PROCESSADD to skip processing this is in place for RenderManagers that will bypass the main ::addInst interface and doesn't want to process them.

renderOrder

Where to add the manager in the render list.

removeManager(RenderBinManager * mgr)

Removes a manager from render and process add lists.

Parameters:

mgr

Render bin manager to remove, the caller is now responsible for freeing the mgr.

getManagerCount()

How many render bin managers do we have?

getManager(S32 i)

Get the render manager at i.

Public Types

typedef Signal< void(RenderInst *inst)> AddInstSignal 
typedef Signal< void(RenderBinManager *bin, const SceneRenderState *state, bool preRender)> RenderBinEventSignal 

This signal is triggered when a render bin is about to be rendered.

Parameters:

bin

The render bin we're signaling.

state

The current scene state. @params preRender If true it is before the bin is rendered, else its after being rendered.

Private Types

typedef SimObject Parent 

Protected Types

typedef HashTable< RenderInstTypeHash, AddInstSignal > AddInstTable 

Public Static Attributes

const RenderInstType RIT_Begin 
const RenderInstType RIT_Custom 
const RenderInstType RIT_Decal 
const RenderInstType RIT_DecalRoad 
const RenderInstType RIT_Editor 
const RenderInstType RIT_Foliage 
const RenderInstType RIT_Mesh 
const RenderInstType RIT_Object 
const RenderInstType RIT_ObjectTranslucent 
const RenderInstType RIT_Occluder 
const RenderInstType RIT_Particle 
const RenderInstType RIT_Probes 
const RenderInstType RIT_Shadow 
const RenderInstType RIT_Sky 
const RenderInstType RIT_Terrain 
const RenderInstType RIT_Translucent 
const RenderInstType RIT_VolumetricFog 
const RenderInstType RIT_Water 

Protected Attributes

AddInstTable mAddInstSignals 
MultiTypedChunker mChunker 
GFXTexHandle mDepthBuff 
MatrixSet * mMatrixSet 
Vector< RenderBinManager * > mRenderBins 
SceneManager * mSceneManager 

Public Functions

RenderPassManager()

~RenderPassManager()

addInst(RenderInst * inst)

Add a RenderInstance to the list.

Reimplemented by: ShadowRenderPassManager

clear()

Resets our allocated RenderInstances and Matrices. (Normally, one should just call renderPass)

DECLARE_CONOBJECT(RenderPassManager )

getAddSignal(RenderInstTypeHash type)

getDepthTargetTexture()

Returns the active depth buffer for this pass (NOTE: This value may be GFXTextureTarget::sDefaultDepthStencil)

getSceneManager()

Get scene manager which this render pass belongs to.

render(SceneRenderState * state)

Renders the list of RenderInsts (Normally, one should just call renderPass)

renderPass(SceneRenderState * state)

setDepthTargetTexture(GFXTextureObject * zTarget)

Assigns the value for the above method.

sort()

Sorts the list of RenderInst's per bin. (Normally, one should just call renderPass)

Public Static Functions

getRenderBinSignal()

initPersistFields()

Protected Functions

_insertSort(Vector< RenderBinManager * > & list, RenderBinManager * mgr, bool renderOrder)

Do a sorted insert into a vector, renderOrder bool controls which test we run for insertion.