A grouping level underneath RenderQueue which groups renderables to be issued at coarsely the same time to the renderer. More...
#include <OgreRenderQueueSortingGrouping.h>
Public Types | |
typedef map< ushort, RenderPriorityGroup *, std::less< ushort > >::type | PriorityMap |
typedef MapIterator< PriorityMap > | PriorityMapIterator |
typedef ConstMapIterator < PriorityMap > | ConstPriorityMapIterator |
Public Member Functions | |
RenderQueueGroup (RenderQueue *parent, bool splitPassesByLightingType, bool splitNoShadowPasses, bool shadowCastersNotReceivers) | |
~RenderQueueGroup () | |
PriorityMapIterator | getIterator (void) |
Get an iterator for browsing through child contents. | |
ConstPriorityMapIterator | getIterator (void) const |
Get a const iterator for browsing through child contents. | |
void | addRenderable (Renderable *pRend, Technique *pTech, ushort priority) |
Add a renderable to this group, with the given priority. | |
void | clear (bool destroy=false) |
Clears this group of renderables. | |
void | setShadowsEnabled (bool enabled) |
Indicate whether a given queue group will be doing any shadow setup. | |
bool | getShadowsEnabled (void) const |
Are shadows enabled for this queue? | |
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 the queue will split passes which have shadow receive turned off (in their parent material), which is needed when certain shadow techniques are used. | |
void | setShadowCastersCannotBeReceivers (bool ind) |
Sets whether or not objects which cast shadows should be treated as never receiving shadows. | |
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) |
Setthe sorting / grouping mode for the solids in this group to the default. | |
void | merge (const RenderQueueGroup *rhs) |
Merge group of renderables. | |
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 Attributes | |
RenderQueue * | mParent |
bool | mSplitPassesByLightingType |
bool | mSplitNoShadowPasses |
bool | mShadowCastersNotReceivers |
PriorityMap | mPriorityGroups |
Map of RenderPriorityGroup objects. | |
bool | mShadowsEnabled |
Whether shadows are enabled for this queue. | |
uint8 | mOrganisationMode |
Bitmask of the organisation modes requested (for new priority groups). |
A grouping level underneath RenderQueue which groups renderables to be issued at coarsely the same time to the renderer.
Definition at line 465 of file OgreRenderQueueSortingGrouping.h.
Definition at line 470 of file OgreRenderQueueSortingGrouping.h.
typedef map<ushort, RenderPriorityGroup*, std::less<ushort> >::type Ogre::RenderQueueGroup::PriorityMap |
Definition at line 468 of file OgreRenderQueueSortingGrouping.h.
Definition at line 469 of file OgreRenderQueueSortingGrouping.h.
Ogre::RenderQueueGroup::RenderQueueGroup | ( | RenderQueue * | parent, | |
bool | splitPassesByLightingType, | |||
bool | splitNoShadowPasses, | |||
bool | shadowCastersNotReceivers | |||
) |
Definition at line 485 of file OgreRenderQueueSortingGrouping.h.
Ogre::RenderQueueGroup::~RenderQueueGroup | ( | ) |
Definition at line 498 of file OgreRenderQueueSortingGrouping.h.
References OGRE_DELETE.
void Ogre::RenderQueueGroup::addOrganisationMode | ( | QueuedRenderableCollection::OrganisationMode | om | ) |
Add a required sorting / grouping mode for the solids in this group.
Definition at line 655 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderQueueGroup::addRenderable | ( | Renderable * | pRend, | |
Technique * | pTech, | |||
ushort | priority | |||
) |
Add a renderable to this group, with the given priority.
Definition at line 520 of file OgreRenderQueueSortingGrouping.h.
References Ogre::RenderPriorityGroup::addOrganisationMode(), Ogre::RenderPriorityGroup::addRenderable(), OGRE_NEW, and Ogre::RenderPriorityGroup::resetOrganisationModes().
void Ogre::RenderQueueGroup::clear | ( | bool | destroy = false |
) |
Clears this group of renderables.
destroy | If false, doesn't delete any priority groups, just empties them. Saves on memory deallocations since the chances are roughly the same kinds of renderables are going to be sent to the queue again next time. If true, completely destroys. |
Definition at line 557 of file OgreRenderQueueSortingGrouping.h.
References OGRE_DELETE.
void Ogre::RenderQueueGroup::defaultOrganisationMode | ( | void | ) |
Setthe sorting / grouping mode for the solids in this group to the default.
Definition at line 673 of file OgreRenderQueueSortingGrouping.h.
ConstPriorityMapIterator Ogre::RenderQueueGroup::getIterator | ( | void | ) | const |
Get a const iterator for browsing through child contents.
Definition at line 514 of file OgreRenderQueueSortingGrouping.h.
PriorityMapIterator Ogre::RenderQueueGroup::getIterator | ( | void | ) |
Get an iterator for browsing through child contents.
Definition at line 508 of file OgreRenderQueueSortingGrouping.h.
Referenced by merge().
bool Ogre::RenderQueueGroup::getShadowsEnabled | ( | void | ) | const |
Are shadows enabled for this queue?
Definition at line 589 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderQueueGroup::merge | ( | const RenderQueueGroup * | rhs | ) |
Merge group of renderables.
Definition at line 687 of file OgreRenderQueueSortingGrouping.h.
References Ogre::RenderPriorityGroup::addOrganisationMode(), getIterator(), Ogre::MapIteratorWrapper< T, IteratorType >::getNext(), Ogre::IteratorWrapper< T, IteratorType, ValType >::hasMoreElements(), Ogre::RenderPriorityGroup::merge(), OGRE_NEW, Ogre::MapIteratorWrapper< T, IteratorType >::peekNextKey(), and Ogre::RenderPriorityGroup::resetOrganisationModes().
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [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 118 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
void Ogre::RenderQueueGroup::resetOrganisationModes | ( | void | ) |
Reset the organisation modes required for the solids in this group.
Definition at line 637 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderQueueGroup::setShadowCastersCannotBeReceivers | ( | bool | ind | ) |
Sets whether or not objects which cast shadows should be treated as never receiving shadows.
Definition at line 621 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderQueueGroup::setShadowsEnabled | ( | bool | enabled | ) |
Indicate whether a given queue group will be doing any shadow setup.
Definition at line 586 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderQueueGroup::setSplitNoShadowPasses | ( | bool | split | ) |
Sets whether or not the queue will split passes which have shadow receive turned off (in their parent material), which is needed when certain shadow techniques are used.
Definition at line 608 of file OgreRenderQueueSortingGrouping.h.
void Ogre::RenderQueueGroup::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 594 of file OgreRenderQueueSortingGrouping.h.
uint8 Ogre::RenderQueueGroup::mOrganisationMode [protected] |
Bitmask of the organisation modes requested (for new priority groups).
Definition at line 481 of file OgreRenderQueueSortingGrouping.h.
RenderQueue* Ogre::RenderQueueGroup::mParent [protected] |
Definition at line 472 of file OgreRenderQueueSortingGrouping.h.
PriorityMap Ogre::RenderQueueGroup::mPriorityGroups [protected] |
Map of RenderPriorityGroup objects.
Definition at line 477 of file OgreRenderQueueSortingGrouping.h.
bool Ogre::RenderQueueGroup::mShadowCastersNotReceivers [protected] |
Definition at line 475 of file OgreRenderQueueSortingGrouping.h.
bool Ogre::RenderQueueGroup::mShadowsEnabled [protected] |
Whether shadows are enabled for this queue.
Definition at line 479 of file OgreRenderQueueSortingGrouping.h.
bool Ogre::RenderQueueGroup::mSplitNoShadowPasses [protected] |
Definition at line 474 of file OgreRenderQueueSortingGrouping.h.
bool Ogre::RenderQueueGroup::mSplitPassesByLightingType [protected] |
Definition at line 473 of file OgreRenderQueueSortingGrouping.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:39:13 2012