C# Класс 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.

Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
defaultGroup RenderQueueGroupID
defaultRenderablePriority ushort
renderGroups SortedList
shadowCastersCannotBeReceivers bool
splitNoShadowPasses bool
splitPassesByLightingType bool

Открытые методы

Метод Описание
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.

Приватные методы

Метод Описание
GetQueueGroupByIndex ( int index ) : RenderQueueGroup

GetRenderQueueGroupID ( int index ) : RenderQueueGroupID

Описание методов

AddRenderable() публичный метод

Overloaded method.
public AddRenderable ( IRenderable item ) : void
item IRenderable
Результат void

AddRenderable() публичный метод

Overloaded method.
public AddRenderable ( IRenderable item, RenderQueueGroupID groupID ) : void
item IRenderable
groupID RenderQueueGroupID
Результат void

AddRenderable() публичный метод

Overloaded method.
public AddRenderable ( IRenderable item, ushort priority ) : void
item IRenderable
priority ushort
Результат void

AddRenderable() публичный метод

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.
Результат void

Clear() публичный метод

Clears all
public Clear ( ) : void
Результат void

Clear() публичный метод

Clears all
public Clear ( bool dispose ) : void
dispose bool
Результат void

GetQueueGroup() публичный метод

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.
Результат RenderQueueGroup

RenderQueue() публичный метод

Default constructor.
public RenderQueue ( ) : System
Результат System

Описание свойств

defaultGroup защищенное свойство

Default render group for this queue.
protected RenderQueueGroupID defaultGroup
Результат RenderQueueGroupID

defaultRenderablePriority защищенное свойство

Default priority of items added to the render queue.
protected ushort defaultRenderablePriority
Результат ushort

renderGroups защищенное свойство

Cached list of render groups, indexed by RenderQueueGroupID.
protected SortedList renderGroups
Результат SortedList

shadowCastersCannotBeReceivers защищенное свойство

protected bool shadowCastersCannotBeReceivers
Результат bool

splitNoShadowPasses защищенное свойство

protected bool splitNoShadowPasses
Результат bool

splitPassesByLightingType защищенное свойство

Should passes be split by their lighting stage?
protected bool splitPassesByLightingType
Результат bool