Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::RenderPriorityGroup Class Reference

Renderables in the queue grouped by priority. More...

#include <OgreRenderQueueSortingGrouping.h>

List of all members.

Public Types

typedef std::vector< Renderable * > RenderableList
typedef std::map< Material *,
RenderableList
MaterialGroupMap
 Map on material within each queue group, this is for non-transparent objects only. More...

typedef std::vector< Renderable * > TransparentObjectList
 Transparent object list, these are not grouped by material but will be sorted by descending Z. More...


Public Methods

 RenderPriorityGroup ()
 ~RenderPriorityGroup ()
void addRenderable (Renderable *pRend)
 Add a renderable to this group. More...

void sortTransparentObjects (const Camera *cam)
 Sorts the transparent objects which have been added to the queue by their depth in relation to the passed in Camera. More...

void clear (void)
 Clears this group of renderables. More...


Protected Attributes

MaterialGroupMap mMaterialGroups
TransparentObjectList mTransparentObjects

Friends

class Ogre::SceneManager


Detailed Description

Renderables in the queue grouped by priority.

Remarks:
This class simply groups renderables for rendering. All the renderables contained in this class are destined for the same RenderQueueGroup (coarse groupings like those between the main scene and overlays) and have the same priority (fine groupings for detailed overlap control).

This class optimises the grouped renderables by sorting them by material to reduce render state changes, and outsorts transparent objects.


Member Typedef Documentation

typedef std::map<Material*, RenderableList > Ogre::RenderPriorityGroup::MaterialGroupMap
 

Map on material within each queue group, this is for non-transparent objects only.

typedef std::vector<Renderable*> Ogre::RenderPriorityGroup::RenderableList
 

typedef std::vector<Renderable*> Ogre::RenderPriorityGroup::TransparentObjectList
 

Transparent object list, these are not grouped by material but will be sorted by descending Z.


Constructor & Destructor Documentation

Ogre::RenderPriorityGroup::RenderPriorityGroup   [inline]
 

Ogre::RenderPriorityGroup::~RenderPriorityGroup   [inline]
 


Member Function Documentation

void Ogre::RenderPriorityGroup::addRenderable Renderable   pRend [inline]
 

Add a renderable to this group.

void Ogre::RenderPriorityGroup::clear void    [inline]
 

Clears this group of renderables.

void Ogre::RenderPriorityGroup::sortTransparentObjects const Camera   cam [inline]
 

Sorts the transparent objects which have been added to the queue by their depth in relation to the passed in Camera.


Friends And Related Function Documentation

friend class Ogre::SceneManager [friend]
 


Member Data Documentation

MaterialGroupMap Ogre::RenderPriorityGroup::mMaterialGroups [protected]
 

TransparentObjectList Ogre::RenderPriorityGroup::mTransparentObjects [protected]
 

Copyright © 2002 by The OGRE Team