C# Class Axiom.Graphics.RenderQueue

Class to manage the scene object rendering queue.
Objects are grouped by material to minimize rendering state changes. The map from material to renderable object is wrapped in a class for ease of use.

This class includes the concept of 'queue groups' which allows the application adding the renderable to specifically schedule it so that it is included in a discrete group. Good for separating renderables into the main scene, backgrounds and overlays, and also could be used in the future for more complex multipass routines like stenciling.

Afficher le fichier Open project: WolfgangSt/axiom Class Usage Examples

Protected Properties

Свойство Type Description
defaultGroup RenderQueueGroupID
defaultRenderablePriority ushort
renderGroups SortedList
shadowCastersCannotBeReceivers bool
splitNoShadowPasses bool
splitPassesByLightingType bool

Méthodes publiques

Méthode Description
AddRenderable ( IRenderable item ) : void

Overloaded method.

AddRenderable ( IRenderable item, RenderQueueGroupID groupID ) : void

Overloaded method.

AddRenderable ( IRenderable item, ushort priority ) : void

Overloaded method.

AddRenderable ( IRenderable renderable, ushort priority, RenderQueueGroupID groupID ) : void

Adds a renderable item to the queue.

Clear ( ) : void

Clears all

Clear ( bool dispose ) : void

Clears all

GetQueueGroup ( RenderQueueGroupID queueID ) : RenderQueueGroup

Get a render queue group.

New queue groups are registered as they are requested, therefore this method will always return a valid group.

RenderQueue ( ) : System

Default constructor.

Private Methods

Méthode Description
GetQueueGroupByIndex ( int index ) : RenderQueueGroup

GetRenderQueueGroupID ( int index ) : RenderQueueGroupID

Method Details

AddRenderable() public méthode

Overloaded method.
public AddRenderable ( IRenderable item ) : void
item IRenderable
Résultat void

AddRenderable() public méthode

Overloaded method.
public AddRenderable ( IRenderable item, RenderQueueGroupID groupID ) : void
item IRenderable
groupID RenderQueueGroupID
Résultat void

AddRenderable() public méthode

Overloaded method.
public AddRenderable ( IRenderable item, ushort priority ) : void
item IRenderable
priority ushort
Résultat void

AddRenderable() public méthode

Adds a renderable item to the queue.
public AddRenderable ( IRenderable renderable, ushort priority, RenderQueueGroupID groupID ) : void
renderable IRenderable IRenderable object to add to the queue.
priority ushort
groupID RenderQueueGroupID Group to add the item to.
Résultat void

Clear() public méthode

Clears all
public Clear ( ) : void
Résultat void

Clear() public méthode

Clears all
public Clear ( bool dispose ) : void
dispose bool
Résultat void

GetQueueGroup() public méthode

Get a render queue group.
New queue groups are registered as they are requested, therefore this method will always return a valid group.
public GetQueueGroup ( RenderQueueGroupID queueID ) : RenderQueueGroup
queueID RenderQueueGroupID ID of the queue group to retreive.
Résultat RenderQueueGroup

RenderQueue() public méthode

Default constructor.
public RenderQueue ( ) : System
Résultat System

Property Details

defaultGroup protected_oe property

Default render group for this queue.
protected RenderQueueGroupID defaultGroup
Résultat RenderQueueGroupID

defaultRenderablePriority protected_oe property

Default priority of items added to the render queue.
protected ushort defaultRenderablePriority
Résultat ushort

renderGroups protected_oe property

Cached list of render groups, indexed by RenderQueueGroupID.
protected SortedList renderGroups
Résultat SortedList

shadowCastersCannotBeReceivers protected_oe property

protected bool shadowCastersCannotBeReceivers
Résultat bool

splitNoShadowPasses protected_oe property

protected bool splitNoShadowPasses
Résultat bool

splitPassesByLightingType protected_oe property

Should passes be split by their lighting stage?
protected bool splitPassesByLightingType
Résultat bool