#include <OgreRenderQueueSortingGrouping.h>
Public Member Functions | |
RenderPriorityGroup (RenderQueueGroup *parent, bool splitPassesByLightingType, bool splitNoShadowPasses, bool shadowCastersNotReceivers) | |
~RenderPriorityGroup () | |
const QueuedRenderableCollection & | getSolidsBasic (void) const |
Get the collection of basic solids currently queued, this includes all solids when there are no shadows, or all solids which have shadow receiving enabled when using modulative shadows, or all ambient passes of solids which have shadow receive enabled for additive shadows. | |
const QueuedRenderableCollection & | getSolidsDiffuseSpecular (void) const |
Get the collection of solids currently queued per light (only applicable in additive shadow modes). | |
const QueuedRenderableCollection & | getSolidsDecal (void) const |
Get the collection of solids currently queued for decal passes (only applicable in additive shadow modes). | |
const QueuedRenderableCollection & | getSolidsNoShadowReceive (void) const |
Get the collection of solids for which shadow receipt is disabled (only applicable when shadows are enabled). | |
const QueuedRenderableCollection & | getTransparentsUnsorted (void) const |
Get the collection of transparent objects currently queued. | |
const QueuedRenderableCollection & | getTransparents (void) const |
Get the collection of transparent objects currently queued. | |
void | resetOrganisationModes (void) |
Reset the organisation modes required for the solids in this group. | |
void | addOrganisationMode (QueuedRenderableCollection::OrganisationMode om) |
Add a required sorting / grouping mode for the solids in this group. | |
void | defaultOrganisationMode (void) |
Set the sorting / grouping mode for the solids in this group to the default. | |
void | addRenderable (Renderable *pRend, Technique *pTech) |
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. | |
void | setShadowCastersCannotBeReceivers (bool ind) |
Sets whether or not objects which cast shadows should be treated as never receiving shadows. | |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Protected Member Functions | |
void | removePassEntry (Pass *p) |
remove a pass entry from all collections | |
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 | addUnsortedTransparentRenderable (Technique *pTech, Renderable *rend) |
Internal method for adding an unsorted transparent 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 |
bool | mShadowCastersNotReceivers |
QueuedRenderableCollection | mSolidsBasic |
Solid pass list, used when no shadows, modulative shadows, or ambient passes for additive. | |
QueuedRenderableCollection | mSolidsDiffuseSpecular |
Solid per-light pass list, used with additive shadows. | |
QueuedRenderableCollection | mSolidsDecal |
Solid decal (texture) pass list, used with additive shadows. | |
QueuedRenderableCollection | mSolidsNoShadowReceive |
Solid pass list, used when shadows are enabled but shadow receive is turned off for these passes. | |
QueuedRenderableCollection | mTransparentsUnsorted |
Unsorted transparent list. | |
QueuedRenderableCollection | mTransparents |
Transparent list. |
Definition at line 315 of file OgreRenderQueueSortingGrouping.h.
Ogre::RenderPriorityGroup::RenderPriorityGroup | ( | RenderQueueGroup * | parent, | |
bool | splitPassesByLightingType, | |||
bool | splitNoShadowPasses, | |||
bool | shadowCastersNotReceivers | |||
) |
Ogre::RenderPriorityGroup::~RenderPriorityGroup | ( | ) |
Definition at line 355 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderPriorityGroup::removePassEntry | ( | Pass * | p | ) | [protected] |
remove a pass entry from all collections
void Ogre::RenderPriorityGroup::addSolidRenderable | ( | Technique * | pTech, | |
Renderable * | rend, | |||
bool | toNoShadowMap | |||
) | [protected] |
Internal method for adding a solid renderable.
void Ogre::RenderPriorityGroup::addSolidRenderableSplitByLightType | ( | Technique * | pTech, | |
Renderable * | rend | |||
) | [protected] |
Internal method for adding a solid renderable.
void Ogre::RenderPriorityGroup::addUnsortedTransparentRenderable | ( | Technique * | pTech, | |
Renderable * | rend | |||
) | [protected] |
Internal method for adding an unsorted transparent renderable.
void Ogre::RenderPriorityGroup::addTransparentRenderable | ( | Technique * | pTech, | |
Renderable * | rend | |||
) | [protected] |
Internal method for adding a transparent renderable.
const QueuedRenderableCollection& Ogre::RenderPriorityGroup::getSolidsBasic | ( | void | ) | const |
Get the collection of basic solids currently queued, this includes all solids when there are no shadows, or all solids which have shadow receiving enabled when using modulative shadows, or all ambient passes of solids which have shadow receive enabled for additive shadows.
Definition at line 361 of file OgreRenderQueueSortingGrouping.h.
const QueuedRenderableCollection& Ogre::RenderPriorityGroup::getSolidsDiffuseSpecular | ( | void | ) | const |
Get the collection of solids currently queued per light (only applicable in additive shadow modes).
Definition at line 365 of file OgreRenderQueueSortingGrouping.h.
const QueuedRenderableCollection& Ogre::RenderPriorityGroup::getSolidsDecal | ( | void | ) | const |
Get the collection of solids currently queued for decal passes (only applicable in additive shadow modes).
Definition at line 369 of file OgreRenderQueueSortingGrouping.h.
const QueuedRenderableCollection& Ogre::RenderPriorityGroup::getSolidsNoShadowReceive | ( | void | ) | const |
Get the collection of solids for which shadow receipt is disabled (only applicable when shadows are enabled).
Definition at line 373 of file OgreRenderQueueSortingGrouping.h.
const QueuedRenderableCollection& Ogre::RenderPriorityGroup::getTransparentsUnsorted | ( | void | ) | const |
Get the collection of transparent objects currently queued.
Definition at line 376 of file OgreRenderQueueSortingGrouping.h.
const QueuedRenderableCollection& Ogre::RenderPriorityGroup::getTransparents | ( | void | ) | const |
Get the collection of transparent objects currently queued.
Definition at line 379 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderPriorityGroup::resetOrganisationModes | ( | void | ) |
Reset the organisation modes required for the solids in this group.
Referenced by Ogre::RenderQueueGroup::addRenderable().
void Ogre::RenderPriorityGroup::addOrganisationMode | ( | QueuedRenderableCollection::OrganisationMode | om | ) |
Add a required sorting / grouping mode for the solids in this group.
Referenced by Ogre::RenderQueueGroup::addRenderable().
void Ogre::RenderPriorityGroup::defaultOrganisationMode | ( | void | ) |
Set the sorting / grouping mode for the solids in this group to the default.
void Ogre::RenderPriorityGroup::addRenderable | ( | Renderable * | pRend, | |
Technique * | pTech | |||
) |
void Ogre::RenderPriorityGroup::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 Ogre::RenderPriorityGroup::clear | ( | void | ) |
Clears this group of renderables.
void Ogre::RenderPriorityGroup::setSplitPassesByLightingType | ( | bool | split | ) |
Sets whether or not the queue will split passes by their lighting type, ie ambient, per-light and decal.
Definition at line 421 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderPriorityGroup::setSplitNoShadowPasses | ( | bool | split | ) |
Sets whether or not passes which have shadow receive disabled should be separated.
Definition at line 429 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderPriorityGroup::setShadowCastersCannotBeReceivers | ( | bool | ind | ) |
Sets whether or not objects which cast shadows should be treated as never receiving shadows.
Definition at line 437 of file OgreRenderQueueSortingGrouping.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 84 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 89 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 106 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
RenderQueueGroup* Ogre::RenderPriorityGroup::mParent [protected] |
bool Ogre::RenderPriorityGroup::mSplitPassesByLightingType [protected] |
Definition at line 321 of file OgreRenderQueueSortingGrouping.h.
bool Ogre::RenderPriorityGroup::mSplitNoShadowPasses [protected] |
Definition at line 322 of file OgreRenderQueueSortingGrouping.h.
bool Ogre::RenderPriorityGroup::mShadowCastersNotReceivers [protected] |
Definition at line 323 of file OgreRenderQueueSortingGrouping.h.
Solid pass list, used when no shadows, modulative shadows, or ambient passes for additive.
Definition at line 325 of file OgreRenderQueueSortingGrouping.h.
Solid per-light pass list, used with additive shadows.
Definition at line 327 of file OgreRenderQueueSortingGrouping.h.
Solid decal (texture) pass list, used with additive shadows.
Definition at line 329 of file OgreRenderQueueSortingGrouping.h.
Solid pass list, used when shadows are enabled but shadow receive is turned off for these passes.
Definition at line 331 of file OgreRenderQueueSortingGrouping.h.
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 27 22:05:28 2009