#include <OgreRenderQueueSortingGrouping.h>
Public Types | |
typedef std::vector< RenderablePass > | TransparentRenderablePassList |
Vector of RenderablePass objects, this is built on the assumption that vectors only ever increase in size, so even if we do clear() the memory stays allocated, ie fast. | |
typedef std::vector< Renderable * > | RenderableList |
typedef std::map< Pass *, RenderableList *, SolidQueueItemLess > | SolidRenderablePassMap |
Map of pass to renderable lists, used for solid objects since ordering within objects not important. | |
Public Member Functions | |
RenderPriorityGroup (RenderQueueGroup *parent, bool splitPassesByLightingType, bool splitNoShadowPasses) | |
~RenderPriorityGroup () | |
const SolidRenderablePassMap & | _getSolidPasses (void) const |
Get the collection of solid passes currently queued. | |
const SolidRenderablePassMap & | _getSolidPassesDiffuseSpecular (void) const |
Get the collection of solid passes currently queued (per-light). | |
const SolidRenderablePassMap & | _getSolidPassesDecal (void) const |
Get the collection of solid passes currently queued (decal textures). | |
const SolidRenderablePassMap & | _getSolidPassesNoShadow (void) const |
Get the collection of solid passes for which shadow receipt is disabled. | |
const TransparentRenderablePassList & | _getTransparentPasses (void) const |
Get the collection of transparent passes currently queued. | |
void | addRenderable (Renderable *pRend) |
Add a renderable to this group. | |
void | sort (const Camera *cam) |
Sorts the objects which have been added to the queue; transparent objects by their depth in relation to the passed in Camera. | |
void | clear (void) |
Clears this group of renderables. | |
void | setSplitPassesByLightingType (bool split) |
Sets whether or not the queue will split passes by their lighting type, ie ambient, per-light and decal. | |
void | setSplitNoShadowPasses (bool split) |
Sets whether or not passes which have shadow receive disabled should be separated. | |
Protected Member Functions | |
void | destroySolidPassMap (SolidRenderablePassMap &passmap) |
Totally empties and destroys a solid pass map. | |
void | removeSolidPassEntry (Pass *p) |
remove a pass entry from all solid pass maps | |
void | clearSolidPassMap (SolidRenderablePassMap &passmap) |
Clear a solid pass map at the end of a frame. | |
void | addSolidRenderable (Technique *pTech, Renderable *rend, bool toNoShadowMap) |
Internal method for adding a solid renderable. | |
void | addSolidRenderableSplitByLightType (Technique *pTech, Renderable *rend) |
Internal method for adding a solid renderable. | |
void | addTransparentRenderable (Technique *pTech, Renderable *rend) |
Internal method for adding a transparent renderable. | |
Protected Attributes | |
RenderQueueGroup * | mParent |
Parent queue group. | |
bool | mSplitPassesByLightingType |
bool | mSplitNoShadowPasses |
SolidRenderablePassMap | mSolidPasses |
Solid pass list, used when no shadows, modulative shadows, or ambient passes for additive. | |
SolidRenderablePassMap | mSolidPassesDiffuseSpecular |
Solid per-light pass list, used with additive shadows. | |
SolidRenderablePassMap | mSolidPassesDecal |
Solid decal (texture) pass list, used with additive shadows. | |
SolidRenderablePassMap | mSolidPassesNoShadow |
Solid pass list, used when shadows are enabled but shadow receive is turned off for these passes. | |
TransparentRenderablePassList | mTransparentPasses |
Transparent list. |
Definition at line 50 of file OgreRenderQueueSortingGrouping.h.
|
Definition at line 119 of file OgreRenderQueueSortingGrouping.h. |
|
Map of pass to renderable lists, used for solid objects since ordering within objects not important.
Definition at line 122 of file OgreRenderQueueSortingGrouping.h. Referenced by _getSolidPasses(), _getSolidPassesDecal(), _getSolidPassesDiffuseSpecular(), and _getSolidPassesNoShadow(). |
|
Vector of RenderablePass objects, this is built on the assumption that vectors only ever increase in size, so even if we do clear() the memory stays allocated, ie fast.
Definition at line 118 of file OgreRenderQueueSortingGrouping.h. Referenced by _getTransparentPasses(). |
|
Definition at line 156 of file OgreRenderQueueSortingGrouping.h. |
|
Definition at line 161 of file OgreRenderQueueSortingGrouping.h. |
|
Get the collection of solid passes currently queued.
Definition at line 172 of file OgreRenderQueueSortingGrouping.h. References SolidRenderablePassMap. |
|
Get the collection of solid passes currently queued (decal textures).
Definition at line 178 of file OgreRenderQueueSortingGrouping.h. References SolidRenderablePassMap. |
|
Get the collection of solid passes currently queued (per-light).
Definition at line 175 of file OgreRenderQueueSortingGrouping.h. References SolidRenderablePassMap. |
|
Get the collection of solid passes for which shadow receipt is disabled.
Definition at line 181 of file OgreRenderQueueSortingGrouping.h. References SolidRenderablePassMap. |
|
Get the collection of transparent passes currently queued.
Definition at line 184 of file OgreRenderQueueSortingGrouping.h. References TransparentRenderablePassList. |
|
Add a renderable to this group.
Referenced by Ogre::RenderQueueGroup::addRenderable(). |
|
Internal method for adding a solid renderable.
|
|
Internal method for adding a solid renderable.
|
|
Internal method for adding a transparent renderable.
|
|
Clears this group of renderables.
|
|
Clear a solid pass map at the end of a frame.
|
|
Totally empties and destroys a solid pass map.
|
|
remove a pass entry from all solid pass maps
|
|
Sets whether or not passes which have shadow receive disabled should be separated.
Definition at line 210 of file OgreRenderQueueSortingGrouping.h. |
|
Sets whether or not the queue will split passes by their lighting type, ie ambient, per-light and decal.
Definition at line 202 of file OgreRenderQueueSortingGrouping.h. |
|
Sorts the objects which have been added to the queue; transparent objects by their depth in relation to the passed in Camera.
|
|
Parent queue group.
Definition at line 125 of file OgreRenderQueueSortingGrouping.h. |
|
Solid pass list, used when no shadows, modulative shadows, or ambient passes for additive.
Definition at line 129 of file OgreRenderQueueSortingGrouping.h. |
|
Solid decal (texture) pass list, used with additive shadows.
Definition at line 133 of file OgreRenderQueueSortingGrouping.h. |
|
Solid per-light pass list, used with additive shadows.
Definition at line 131 of file OgreRenderQueueSortingGrouping.h. |
|
Solid pass list, used when shadows are enabled but shadow receive is turned off for these passes.
Definition at line 135 of file OgreRenderQueueSortingGrouping.h. |
|
Definition at line 127 of file OgreRenderQueueSortingGrouping.h. |
|
Definition at line 126 of file OgreRenderQueueSortingGrouping.h. |
|
Transparent list.
Definition at line 138 of file OgreRenderQueueSortingGrouping.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:02:24 2006