OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::PCZSceneManager Class Reference

Specialized SceneManager that uses Portal-Connected-Zones to divide the scene spatially. More...

#include <OgrePCZSceneManager.h>

+ Inheritance diagram for Ogre::PCZSceneManager:
+ Collaboration diagram for Ogre::PCZSceneManager:

Public Types

typedef MapIterator
< AnimationList
AnimationIterator
 
typedef VectorIterator
< CameraList
CameraIterator
 
enum  IlluminationRenderStage { IRS_NONE, IRS_RENDER_TO_TEXTURE }
 Describes the stage of rendering when performing complex illumination. More...
 
typedef VectorIterator
< MovableObjectVec
MovableObjectIterator
 
enum  PrefabType { PT_PLANE, PT_CUBE, PT_SPHERE }
 Prefab shapes available without loading a model. More...
 
enum  SpecialCaseRenderQueueMode { SCRQM_INCLUDE, SCRQM_EXCLUDE }
 Enumeration of the possible modes allowed for processing the special case render queue list. More...
 
typedef vector< TexturePtr >::type TextureVec
 
typedef MapIterator< ZoneMapZoneIterator
 ZoneMap iterator for read-only access to the zonemap. More...
 

Public Member Functions

 PCZSceneManager (const String &name)
 Standard Constructor. More...
 
 ~PCZSceneManager ()
 Standard destructor. More...
 
virtual void _addAutotrackingSceneNode (SceneNode *source, SceneNode *target, const Vector3 &offset, const Vector3 &localDirection)
 Internal method for notifying the manager that a SceneNode is autotracking. More...
 
void _addCompositorTexture (IdString name, const TextureVec *texs)
 Used by Compositor, tells of which compositor textures active, so Materials can access them. More...
 
virtual void _alertVisibleObjects (void)
 Alerts each unculled object, notifying it that it will be drawn. More...
 
virtual void _applySceneAnimations (void)
 Internal method for applying animations to scene nodes. More...
 
virtual bool _areRenderStateChangesSuppressed (void) const
 Are render state changes suppressed? More...
 
AxisAlignedBox _calculateCurrentCastersBox (uint32 viewportVisibilityMask, uint8 firstRq, uint8 lastRq) const
 
void _calcZonesAffectedByLights (Camera *cam)
 Calculate which zones are affected by each light. More...
 
void _clearAllZonesPortalUpdateFlag (void)
 Clear portal update flag from all zones. More...
 
virtual SceneNode_createSceneNode (SceneNode *parent, SceneMemoryMgrTypes sceneType)
 
virtual void _cullPhase01 (Camera *camera, const Camera *lodCamera, Viewport *vp, uint8 firstRq, uint8 lastRq)
 Performs the frustum culling that will later be needed by _renderPhase02. More...
 
void _dirtyNodeByMovingPortals (void)
 Mark nodes dirty for every zone with moving portal in the scene. More...
 
virtual void _findVisibleObjects (Camera *cam, VisibleObjectsBoundsInfo *visibleBounds, bool onlyShadowCasters)
 Recurses through the PCZTree determining which nodes are visible. More...
 
virtual CompositorChain * _getActiveCompositorChain () const
 Gets the active compositor chain of the current scene being rendered. More...
 
uint32 _getCombinedVisibilityMask (void) const
 Internal method for getting the combination between the global visibility mask and the per-viewport visibility mask. More...
 
IlluminationRenderStage _getCurrentRenderStage () const
 
ObjectMemoryManager_getEntityMemoryManager (SceneMemoryMgrTypes sceneType)
 Retrieves the main entity memory manager. More...
 
VisibleObjectsPerThreadArray_getTmpVisibleObjectsList ()
 mTmpVisibleObjects More...
 
void _handleLodEvents ()
 Handle LOD events. More...
 
virtual void _injectRenderWithPass (Pass *pass, Renderable *rend, Camera *activeCamera=0, bool shadowDerivation=true, bool doLightIteration=false)
 Render something as if it came from the current queue. More...
 
virtual void _markGpuParamsDirty (uint16 mask)
 Method to allow you to mark gpu parameters as dirty, causing them to be updated according to the mask that you set when updateGpuProgramParameters is next called. More...
 
void _notifyEntityMaterialLodChanged (EntityMaterialLodChangedEvent &evt)
 Notify that an entity material LOD change event has occurred. More...
 
void _notifyEntityMeshLodChanged (EntityMeshLodChangedEvent &evt)
 Notify that an entity mesh LOD change event has occurred. More...
 
void _notifyMovableObjectLodChanged (MovableObjectLodChangedEvent &evt)
 Notify that a movable object LOD change event has occurred. More...
 
virtual RenderContext_pauseRendering ()
 Pause rendering of the frame. More...
 
virtual void _queueSkiesForRendering (Camera *cam)
 Internal method for queueing the sky objects with the params as previously set through setSkyBox, setSkyPlane and setSkyDome. More...
 
virtual void _removeAutotrackingSceneNode (SceneNode *source)
 
void _removeCompositorTextures (size_t from)
 Removes all compositor textures from 'from' to end. More...
 
virtual void _renderPhase02 (Camera *camera, const Camera *lodCamera, Viewport *vp, uint8 firstRq, uint8 lastRq, bool includeOverlays)
 Prompts the class to send its contents to the renderer. More...
 
virtual void _renderQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render the objects in a given queue group. More...
 
void _renderScene (Camera *cam, Viewport *vp, bool includeOverlays)
 Overridden from basic scene manager. More...
 
virtual void _renderVisibleObjects (void)
 Sends visible objects found during _cullPhase01 to the rendering engine. More...
 
virtual void _resumeRendering (RenderContext *context)
 Resume rendering of the frame. More...
 
virtual void _setActiveCompositorChain (CompositorChain *chain)
 Sets the active compositor chain of the current scene being rendered. More...
 
void _setCurrentRenderStage (IlluminationRenderStage stage)
 
void _setCurrentShadowNode (CompositorShadowNode *shadowNode)
 
virtual void _setDestinationRenderSystem (RenderSystem *sys)
 Notifies the scene manager of its destination render system. More...
 
virtual const Pass_setPass (const Pass *pass, bool evenIfSuppressed=false, bool shadowDerivation=true)
 Internal method for setting up the renderstate for a rendering pass. More...
 
virtual void _setSkyBox (bool enable, const String &materialName, Real distance=5000, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, const Quaternion &orientation=Quaternion::IDENTITY, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky box' i.e. More...
 
virtual void _setSkyDome (bool enable, const String &materialName, Real curvature=10, Real tiling=8, Real distance=4000, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, const Quaternion &orientation=Quaternion::IDENTITY, int xsegments=16, int ysegments=16, int ysegments_keep=-1, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky dome' i.e. More...
 
virtual void _setSkyPlane (bool enable, const Plane &plane, const String &materialName, Real scale=1000, Real tiling=10, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, Real bow=0, int xsegments=1, int ysegments=1, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky plane' i.e. More...
 
void _setViewport (Viewport *vp)
 
virtual void _suppressRenderStateChanges (bool suppress)
 Indicates to the SceneManager whether it should suppress changing the RenderSystem states when rendering objects. More...
 
void _swapVisibleObjectsForShadowMapping ()
 CompositorShadowNode remarks More...
 
void _updateHomeZone (PCZSceneNode *, bool)
 Make sure the home zone for the PCZSceneNode is up-to-date. More...
 
void _updatePCZSceneNode (PCZSceneNode *)
 Checks the given SceneNode, and determines if it needs to be moved to a different PCZone or be added to the visitors list of other PCZone(s). More...
 
void _updatePCZSceneNodes (void)
 Update the PCZSceneNodes. More...
 
void _updatePortalZoneData (void)
 Check/Update the zone data for every portal in the scene. More...
 
virtual void _updateSceneGraph (Camera *cam)
 Update Scene Graph (does several things now) More...
 
unsigned long _updateWorkerThread (ThreadHandle *threadHandle)
 Called from the worker thread, polls to process frustum culling requests when a sync is performed. More...
 
virtual void addListener (Listener *s)
 Add a listener which will get called back on scene manager events. More...
 
void addLodListener (LodListener *listener)
 Add a level of detail listener. More...
 
void addPCZSceneNode (PCZSceneNode *sn, PCZone *zone)
 add a PCZSceneNode to the scene by putting it in a zone NOTE: This zone will be the scene node's home zone More...
 
virtual void addRenderObjectListener (RenderObjectListener *newListener)
 Registers a new Render Object Listener which will be notified when rendering an object. More...
 
virtual void addRenderQueueListener (RenderQueueListener *newListener)
 Registers a new RenderQueueListener which will be notified when render queues are processed. More...
 
virtual void addSpecialCaseRenderQueue (uint8 qid)
 Adds an item to the 'special case' render queue list. More...
 
void clearFrameData (void)
 Clears temporary buffers and other data that needs to live every frame. More...
 
virtual void clearScene (void)
 Overridden to clean up zones. More...
 
virtual void clearSpecialCaseRenderQueues (void)
 Clears the 'special case' render queue list. More...
 
void connectPortalsToTargetZonesByLocation (void)
 
AxisAlignedBoxSceneQuerycreateAABBQuery (const AxisAlignedBox &box, uint32 mask=0xFFFFFFFF)
 Overridden from SceneManager. More...
 
virtual AnimationcreateAnimation (const String &name, Real length)
 Creates an animation which can be used to animate scene nodes. More...
 
virtual AnimationStatecreateAnimationState (const String &animName)
 Create an AnimationState object for managing application of animations. More...
 
AntiPortalcreateAntiPortal (const String &name, PortalBase::PORTAL_TYPE type=PortalBase::PORTAL_TYPE_QUAD)
 Create a new anti portal instance. More...
 
virtual BillboardChaincreateBillboardChain ()
 Create a BillboardChain, an object which you can use to render a linked chain of billboards. More...
 
virtual BillboardSetcreateBillboardSet (unsigned int poolSize=20)
 Creates a new BillboardSet for use with this scene manager. More...
 
virtual CameracreateCamera (const String &name)
 Creates a specialized PCZCamera. More...
 
virtual CameracreateCamera (const String &name, bool notShadowCaster=true, bool forCubemapping=false)
 Creates a camera to be managed by this scene manager. More...
 
virtual EntitycreateEntity (const String &meshName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME, SceneMemoryMgrTypes sceneType=SCENE_DYNAMIC)
 Create an Entity (instance of a discrete mesh). More...
 
virtual EntitycreateEntity (const MeshPtr &pMesh, SceneMemoryMgrTypes sceneType=SCENE_DYNAMIC)
 Create an Entity (instance of a discrete mesh). More...
 
virtual EntitycreateEntity (PrefabType ptype, SceneMemoryMgrTypes sceneType=SCENE_DYNAMIC)
 Create an Entity (instance of a discrete mesh) from a range of prefab shapes. More...
 
virtual InstancedEntitycreateInstancedEntity (const String &materialName, const String &managerName)
 Creates an InstancedEntity based on an existing InstanceManager (. More...
 
virtual InstanceManagercreateInstanceManager (const String &customName, const String &meshName, const String &groupName, InstanceManager::InstancingTechnique technique, size_t numInstancesPerBatch, uint16 flags=0, unsigned short subMeshIdx=0)
 Creates an InstanceManager interface to create & manipulate instanced entities You need to call this function at least once before start calling createInstancedEntity to build up an instance based on the given mesh. More...
 
IntersectionSceneQuerycreateIntersectionQuery (uint32 mask=0xFFFFFFFF)
 Creates an IntersectionSceneQuery for this scene manager. More...
 
virtual LightcreateLight (const String &name)
 Creates a light for use in the scene. More...
 
virtual LightcreateLight ()
 Creates a light for use in the scene. More...
 
virtual ManualObjectcreateManualObject (SceneMemoryMgrTypes sceneType=SCENE_DYNAMIC)
 Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface. More...
 
virtual MovableObjectcreateMovableObject (const String &typeName, ObjectMemoryManager *objectMemMgr, const NameValuePairList *params=0)
 Create a movable object of the type specified without a name. More...
 
virtual ParticleSystemcreateParticleSystem (const String &templateName)
 Creates a particle system based on a template. More...
 
virtual ParticleSystemcreateParticleSystem (size_t quota=500, const String &resourceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Create a blank particle system. More...
 
PlaneBoundedVolumeListSceneQuerycreatePlaneBoundedVolumeQuery (const PlaneBoundedVolumeList &volumes, uint32 mask=0xFFFFFFFF)
 Creates a PlaneBoundedVolumeListSceneQuery for this scene manager. More...
 
PortalcreatePortal (const String &name, PortalBase::PORTAL_TYPE type=PortalBase::PORTAL_TYPE_QUAD)
 Create a new portal instance. More...
 
RaySceneQuerycreateRayQuery (const Ray &ray, uint32 mask=0xFFFFFFFF)
 Creates a RaySceneQuery for this scene manager. More...
 
virtual RibbonTrailcreateRibbonTrail ()
 Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes. More...
 
virtual SceneNodecreateSceneNode (void)
 Creates a PCZSceneNode. More...
 
virtual SceneNodecreateSceneNode (const String &name)
 Creates a PCZSceneNode. More...
 
virtual SceneNodecreateSceneNode (SceneMemoryMgrTypes sceneType=SCENE_DYNAMIC)
 Creates an instance of a SceneNode. More...
 
virtual SceneNodecreateSceneNodeImpl (void)
 override this to ensure specialised PCZSceneNode is used. More...
 
virtual SceneNodecreateSceneNodeImpl (const String &name)
 override this to ensure their specialised PCZSceneNode is used. More...
 
SkeletonInstancecreateSkeletonInstance (const SkeletonDef *skeletonDef)
 Creates an instance of a skeleton based on the given definition. More...
 
SphereSceneQuerycreateSphereQuery (const Sphere &sphere, uint32 mask=0xFFFFFFFF)
 Creates a SphereSceneQuery for this scene manager. More...
 
virtual StaticGeometrycreateStaticGeometry (const String &name)
 Creates a StaticGeometry instance suitable for use with this SceneManager. More...
 
PCZonecreateZone (const String &zoneType, const String &instanceName)
 Create a zone with the given name. More...
 
PCZonecreateZoneFromFile (const String &zoneTypeName, const String &zoneName, PCZSceneNode *parentNode, const String &filename)
 Create a zone from a file (type of file depends on the zone type. More...
 
void createZoneSpecificNodeData (PCZSceneNode *)
 Create any zone-specific data necessary for all zones for the given node. More...
 
void createZoneSpecificNodeData (PCZone *)
 Create any zone-specific data necessary for all nodes for the given zone. More...
 
virtual void destroyAllAnimations (void)
 Removes all animations created using this SceneManager. More...
 
virtual void destroyAllAnimationStates (void)
 Removes all animation states created using this SceneManager. More...
 
virtual void destroyAllBillboardChains (void)
 Removes & destroys all BillboardChains from the SceneManager. More...
 
virtual void destroyAllBillboardSets (void)
 Removes & destroys all BillboardSets. More...
 
virtual void destroyAllCameras (void)
 Removes (and destroys) all cameras from the scene. More...
 
virtual void destroyAllEntities (void)
 Removes & destroys all Entities. More...
 
virtual void destroyAllInstanceManagers (void)
 
virtual void destroyAllLights (void)
 Removes and destroys all lights in the scene. More...
 
virtual void destroyAllManualObjects (void)
 Removes & destroys all ManualObjects from the SceneManager. More...
 
virtual void destroyAllMovableObjects (void)
 Destroy all MovableObjects. More...
 
virtual void destroyAllMovableObjectsByType (const String &typeName)
 Destroy all MovableObjects of a given type. More...
 
virtual void destroyAllParticleSystems (void)
 Removes & destroys all ParticleSystems from the SceneManager. More...
 
virtual void destroyAllRibbonTrails (void)
 Removes & destroys all RibbonTrails from the SceneManager. More...
 
virtual void destroyAllStaticGeometry (void)
 Remove & destroy all StaticGeometry instances. More...
 
virtual void destroyAnimation (const String &name)
 Destroys an Animation. More...
 
virtual void destroyAnimationState (const String &name)
 Destroys an AnimationState. More...
 
void destroyAntiPortal (AntiPortal *p)
 Delete a anti portal instance by pointer. More...
 
void destroyAntiPortal (const String &portalName)
 Delete a anti portal instance by name. More...
 
virtual void destroyBillboardChain (BillboardChain *obj)
 Removes & destroys a BillboardChain from the SceneManager. More...
 
virtual void destroyBillboardSet (BillboardSet *set)
 Removes & destroys an BillboardSet from the SceneManager. More...
 
virtual void destroyCamera (Camera *cam)
 Removes a camera from the scene. More...
 
virtual void destroyEntity (Entity *ent)
 Removes & destroys an Entity from the SceneManager. More...
 
virtual void destroyInstancedEntity (InstancedEntity *instancedEntity)
 Removes an InstancedEntity,. More...
 
virtual void destroyInstanceManager (IdString name)
 Destroys an InstanceManager if it was created with createInstanceManager() More...
 
virtual void destroyInstanceManager (InstanceManager *instanceManager)
 
virtual void destroyLight (const String &name)
 Removes the named light from the scene and destroys it. More...
 
virtual void destroyLight (Light *light)
 Removes the light from the scene and destroys it based on a pointer. More...
 
virtual void destroyManualObject (ManualObject *obj)
 Removes & destroys a ManualObject from the SceneManager. More...
 
virtual void destroyMovableObject (MovableObject *m, const String &typeName)
 Destroys a MovableObject with the name specified, of the type specified. More...
 
virtual void destroyMovableObject (MovableObject *m)
 Destroys a MovableObject. More...
 
virtual void destroyParticleSystem (ParticleSystem *obj)
 Removes & destroys a ParticleSystem from the SceneManager. More...
 
void destroyPortal (Portal *p)
 Delete a portal instance by pointer. More...
 
void destroyPortal (const String &portalName)
 Delete a portal instance by name. More...
 
virtual void destroyQuery (SceneQuery *query)
 Destroys a scene query of any type. More...
 
virtual void destroyRibbonTrail (RibbonTrail *obj)
 Removes & destroys a RibbonTrail from the SceneManager. More...
 
virtual void destroySceneNode (const String &name)
 Deletes a scene node by name & corresponding PCZSceneNode. More...
 
virtual void destroySceneNode (SceneNode *sn)
 Deletes a scene node & corresponding PCZSceneNode. More...
 
void destroySkeletonInstance (SkeletonInstance *skeletonInstance)
 Destroys an instance of a skeleton created with . More...
 
virtual void destroyStaticGeometry (StaticGeometry *geom)
 Remove & destroy a StaticGeometry instance. More...
 
virtual void destroyStaticGeometry (const String &name)
 Remove & destroy a StaticGeometry instance. More...
 
void destroyZone (PCZone *zone, bool destroySceneNodes)
 Destroy an existing zone within the scene. More...
 
void enableSky (bool)
 Enable/disable sky rendering. More...
 
virtual size_t estimateWorldGeometry (const String &filename)
 Estimate the number of loading stages required to load the named world geometry. More...
 
virtual size_t estimateWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING)
 Estimate the number of loading stages required to load the named world geometry. More...
 
void executeUserScalableTask (UniformScalableTask *task, bool bBlock)
 Processes a user-defined UniformScalableTask in the worker threads spawned by SceneManager. More...
 
virtual void extractAllMovableObjectsByType (const String &typeName)
 Extract all injected MovableObjects of a given type. More...
 
virtual void extractMovableObject (MovableObject *m)
 Extract a previously injected MovableObject. More...
 
virtual CamerafindCamera (IdString name) const
 Finds the camera with the given name. More...
 
virtual CamerafindCameraNoThrow (IdString name) const
 Finds the camera with the given name. More...
 
void findNodesIn (const AxisAlignedBox &box, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *exclude=0)
 Recurses the scene, adding any nodes intersecting with the box into the given list. More...
 
void findNodesIn (const Sphere &sphere, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0)
 Recurses the scene, adding any nodes intersecting with the sphere into the given list. More...
 
void findNodesIn (const PlaneBoundedVolume &volume, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0)
 Recurses the PCZTree, adding any nodes intersecting with the volume into the given list. More...
 
void findNodesIn (const Ray &ray, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0)
 Recurses the scene, starting in the given startZone, adding any nodes intersecting with the ray into the given list. More...
 
PCZonefindZoneForPoint (Vector3 &point)
 Find the smallest zone which contains the point. More...
 
const ColourValuegetAmbientLight (void) const
 Returns the ambient light level to be used for the scene. More...
 
virtual AnimationgetAnimation (const String &name) const
 Looks up an Animation object previously created with createAnimation. More...
 
AnimationIterator getAnimationIterator (void)
 Returns a specialised MapIterator over all animations in the scene. More...
 
const AnimationListgetAnimations () const
 Returns a const version of the animation list. More...
 
virtual AnimationStategetAnimationState (const String &animName) const
 Retrieves animation state as previously created using createAnimationState. More...
 
AnimationStateIterator getAnimationStateIterator (void)
 Returns a specialised MapIterator over all animation states in the scene. More...
 
CameragetCameraInProgress (void) const
 Gets the current camera being rendered (advanced use only, only valid during viewport update. More...
 
CameraIterator getCameraIterator (void)
 Returns a specialised MapIterator over all cameras in the scene. More...
 
const CameraListgetCameras () const
 Returns a const version of the camera list. More...
 
const AxisAlignedBoxgetCurrentCastersBox (void) const
 CompositorShadowNode::getCastersBox More...
 
ViewportgetCurrentViewport (void) const
 Gets the current viewport being rendered (advanced use only, only valid during viewport update. More...
 
PCZonegetDefaultZone (void)
 Get the default zone. More...
 
RenderSystemgetDestinationRenderSystem ()
 Get the rendersystem subclass to which the output of this Scene Manager gets sent. More...
 
virtual bool getDisplaySceneNodes (void) const
 Returns true if all scene nodes axis are to be displayed. More...
 
virtual bool getFindVisibleObjects (void)
 Gets whether the SceneManager should search for visible objects, or whether they are being manually handled. More...
 
virtual bool getFlipCullingOnNegativeScale () const
 Get whether to automatically flip the culling mode on objects whenever they are negatively scaled. More...
 
virtual const ColourValuegetFogColour (void) const
 Returns the fog colour for the scene. More...
 
virtual Real getFogDensity (void) const
 Returns the fog density for the scene. More...
 
virtual Real getFogEnd (void) const
 Returns the fog end distance for the scene. More...
 
virtual FogMode getFogMode (void) const
 Returns the fog mode for the scene. More...
 
virtual Real getFogStart (void) const
 Returns the fog start distance for the scene. More...
 
const LightListInfogetGlobalLightList (void) const
 
virtual InstanceManagergetInstanceManager (IdString name) const
 Retrieves an existing InstanceManager by it's name. More...
 
InstancingTheadedCullingMethod getInstancingThreadedCullingMethod () const
 
virtual LightgetLight (const String &name) const
 Returns a pointer to the named Light which has previously been added to the scene. More...
 
virtual const PlaneListgetLightClippingPlanes (const Light *l)
 Retrieve a set of clipping planes for a given light. More...
 
virtual const RealRectgetLightScissorRect (const Light *l, const Camera *cam)
 Retrieve a scissor rectangle for a given light and camera. More...
 
void getMinMaxDepthRange (const Frustum *shadowMapCamera, Real &outMin, Real &outMax) const
 CompositorShadowNode::getMinMaxDepthRange More...
 
virtual MovableObjectIterator getMovableObjectIterator (const String &typeName)
 Get an iterator over all MovableObect instances of a given type. More...
 
const StringgetName (void) const
 Return the instance name of this SceneManager. More...
 
virtual bool getNormaliseNormalsOnScale () const
 Get whether to automatically normalise normals on objects whenever they are scaled. More...
 
size_t getNumCompositorTextures (void) const
 Gets the number of currently active compositor textures. More...
 
virtual size_t getNumInstancesPerBatch (const String &meshName, const String &groupName, const String &materialName, InstanceManager::InstancingTechnique technique, size_t numInstancesPerBatch, uint16 flags=0, unsigned short subMeshIdx=0)
 
size_t getNumWorkerThreads () const
 
virtual bool getOption (const String &, void *)
 Gets the given option for the Scene Manager. More...
 
bool getOptionKeys (StringVector &refKeys)
 Method for getting all the implementation-specific options of the scene manager. More...
 
bool getOptionValues (const String &key, StringVector &refValueList)
 Method for getting all possible values for a specific option. More...
 
SceneMgrQueuedRenderableVisitorgetQueuedRenderableVisitor (void) const
 Gets the current visitor object which processes queued renderables. More...
 
Vector3 getRelativeOrigin (void) const
 Returns the current relative origin. (Only when non-permanent) More...
 
virtual RenderQueuegetRenderQueue (void)
 Retrieves the internal render queue, for advanced users only. More...
 
SceneNodegetRootSceneNode (SceneMemoryMgrTypes sceneType=SCENE_DYNAMIC)
 Gets the SceneNode at the root of the scene hierarchy. More...
 
virtual_l1 SceneNodegetSceneNode (IdType id)
 Retrieves a SceneNode based on it's ID from the scene graph. More...
 
virtual_l1 const SceneNodegetSceneNode (IdType id) const
 
virtual bool getShadowCasterRenderBackFaces () const
 Gets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. More...
 
virtual const ColourValuegetShadowColour (void) const
 Get the colour used to modulate areas in shadow. More...
 
virtual Real getShadowDirectionalLightExtrusionDistance (void) const
 Gets the distance a shadow volume is extruded for a directional light. More...
 
virtual Real getShadowDirLightTextureOffset (void) const
 Gets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. More...
 
virtual Real getShadowFarDistance (void) const
 Gets the default maximum distance away from the camera that shadows will be visible. More...
 
virtual Real getShadowFarDistanceSquared (void) const
 
virtual bool getShowBoundingBoxes () const
 Returns if all bounding boxes of scene nodes are to be displayed. More...
 
virtual const SkyBoxGenParametersgetSkyBoxGenParameters (void) const
 Get the parameters used to generate the current SkyBox, if any. More...
 
virtual SceneNodegetSkyBoxNode (void) const
 Get the skybox node, if enabled. More...
 
virtual const
SkyDomeGenParameters
getSkyDomeGenParameters (void) const
 Get the parameters used to generate the current SkyDome, if any. More...
 
virtual SceneNodegetSkyDomeNode (void) const
 Get the sky dome node, if enabled. More...
 
virtual const
SkyPlaneGenParameters
getSkyPlaneGenParameters (void) const
 Get the parameters used to construct the SkyPlane, if any. More...
 
virtual SceneNodegetSkyPlaneNode (void) const
 Get the sky plane node, if enabled. More...
 
virtual SpecialCaseRenderQueueMode getSpecialCaseRenderQueueMode (void)
 Gets the way the special case render queue list is processed. More...
 
virtual StaticGeometrygetStaticGeometry (const String &name) const
 Retrieve a previously created StaticGeometry instance. More...
 
virtual ViewPoint getSuggestedViewpoint (bool random=false)
 Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed. More...
 
const StringgetTypeName (void) const
 Retrieve the type name of this scene manager. More...
 
virtual_l2 uint32 getVisibilityMask (void) const
 Gets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. More...
 
virtual uint8 getWorldGeometryRenderQueue (void)
 Gets the render queue that the world geometry (if any) this SceneManager renders will be associated with. More...
 
PCZonegetZoneByName (const String &zoneName)
 Get a zone by name. More...
 
ZoneIterator getZoneIterator (void)
 
virtual bool hasAnimation (const String &name) const
 Returns whether an animation with the given name exists. More...
 
virtual bool hasAnimationState (const String &name) const
 Returns whether an animation state with the given name exists. More...
 
virtual bool hasInstanceManager (IdString managerName) const
 Returns whether an InstanceManager with the given name exists. More...
 
virtual bool hasLight (const String &name) const
 Returns whether a light with the given name exists. More...
 
virtual bool hasMovableObject (MovableObject *m)
 Returns if this SceneManager contains the specified MovableObject. More...
 
virtual bool hasOption (const String &strKey) const
 Method for verifying whether the scene manager has an implementation-specific option. More...
 
virtual bool hasStaticGeometry (const String &name) const
 Returns whether a static geometry instance with the given name exists. More...
 
void init (const String &defaultZoneTypeName, const String &filename="none")
 Initializes the manager. More...
 
virtual void injectMovableObject (MovableObject *m)
 Inject a MovableObject instance created externally. More...
 
virtual bool isLateMaterialResolving () const
 Gets whether using late material resolving or not. More...
 
virtual bool isRenderQueueToBeProcessed (uint8 qid)
 Returns whether or not the named queue will be rendered based on the current 'special case' render queue list and mode. More...
 
virtual bool isSkyBoxEnabled (void) const
 Return whether a skybox is enabled. More...
 
virtual bool isSkyDomeEnabled (void) const
 Return whether a skydome is enabled. More...
 
virtual bool isSkyPlaneEnabled (void) const
 Return whether a key plane is enabled. More...
 
virtual void manualRender (RenderOperation *rend, Pass *pass, Viewport *vp, const Matrix4 &worldMatrix, const Matrix4 &viewMatrix, const Matrix4 &projMatrix, bool doBeginEndFrame=false)
 Manual rendering method, for advanced users only. More...
 
virtual void manualRender (Renderable *rend, const Pass *pass, Viewport *vp, const Matrix4 &viewMatrix, const Matrix4 &projMatrix, bool doBeginEndFrame=false, bool lightScissoringClipping=true, bool doLightIteration=true)
 Manual rendering method for rendering a single object. More...
 
void notifyStaticAabbDirty (MovableObject *movableObject)
 Notifies that the given MovableObject is dirty (i.e. More...
 
void notifyStaticDirty (Node *node)
 Notifies that the given Node is dirty (i.e. More...
 
 OGRE_MUTEX (sceneGraphMutex)
 Mutex to protect the scene graph from simultaneous access from multiple threads. More...
 
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 *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
virtual void prepareShadowTextures (Camera *cam, Viewport *vp, const LightList *lightList=0)
 
virtual void prepareWorldGeometry (const String &filename)
 Sets the source of the 'world' geometry, i.e. More...
 
virtual void prepareWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING)
 Sets the source of the 'world' geometry, i.e. More...
 
virtual void registerSceneNodeListener (SceneNode *sceneNode)
 Node listeners need to be registered with us so that they can be successfully called when calling updateAllTransforms. More...
 
virtual void removeListener (Listener *s)
 Remove a listener. More...
 
void removeLodListener (LodListener *listener)
 Remove a level of detail listener. More...
 
virtual void removeRenderObjectListener (RenderObjectListener *delListener)
 Removes a listener previously added with addRenderObjectListener. More...
 
virtual void removeRenderQueueListener (RenderQueueListener *delListener)
 Removes a listener previously added with addRenderQueueListener. More...
 
void removeSceneNode (SceneNode *)
 Removes the given PCZSceneNode. More...
 
virtual void removeSpecialCaseRenderQueue (uint8 qid)
 Removes an item to the 'special case' render queue list. More...
 
void setAmbientLight (const ColourValue &colour)
 Sets the ambient light level to be used for the scene. More...
 
virtual void setDisplaySceneNodes (bool display)
 Tells the SceneManager whether it should render the SceneNodes which make up the scene as well as the objects in the scene. More...
 
virtual void setFindVisibleObjects (bool find)
 Sets whether the SceneManager should search for visible objects, or whether they are being manually handled. More...
 
virtual void setFlipCullingOnNegativeScale (bool n)
 Set whether to automatically flip the culling mode on objects whenever they are negatively scaled. More...
 
void setFog (FogMode mode=FOG_NONE, const ColourValue &colour=ColourValue::White, Real expDensity=0.001, Real linearStart=0.0, Real linearEnd=1.0)
 Sets the fogging mode applied to the scene. More...
 
virtual void setLateMaterialResolving (bool isLate)
 Sets whether to use late material resolving or not. More...
 
void setNodeHomeZone (SceneNode *, PCZone *)
 Set the home zone for a scene node. More...
 
virtual void setNormaliseNormalsOnScale (bool n)
 Set whether to automatically normalise normals on objects whenever they are scaled. More...
 
virtual bool setOption (const String &, const void *)
 Sets the given option for the SceneManager. More...
 
void setQueuedRenderableVisitor (SceneMgrQueuedRenderableVisitor *visitor)
 Advanced method for supplying an alternative visitor, used for parsing the render queues and sending the results to the renderer. More...
 
virtual void setRelativeOrigin (const Vector3 &relativeOrigin, bool bPermanent)
 Set whether to use relative offset co-ordinates when rendering, ie offset to subtract to the camera, lights & objects. More...
 
virtual void setShadowCasterRenderBackFaces (bool bf)
 Sets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. More...
 
virtual void setShadowColour (const ColourValue &colour)
 Set the colour used to modulate areas in shadow. More...
 
virtual void setShadowDirectionalLightExtrusionDistance (Real dist)
 Sets the distance a shadow volume is extruded for a directional light. More...
 
virtual void setShadowDirLightTextureOffset (Real offset)
 Sets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. More...
 
virtual void setShadowFarDistance (Real distance)
 Sets the default maximum distance away from the camera that shadows will be visible. More...
 
virtual void setShadowTextureCasterMaterial (const String &name)
 Sets the default material to use for rendering shadow casters. More...
 
virtual void setShadowTextureFadeEnd (Real fadeEnd)
 Sets the proportional distance at which texture shadows finish to fading out. More...
 
virtual void setShadowTextureFadeStart (Real fadeStart)
 Sets the proportional distance at which texture shadows begin to fade out. More...
 
void setShowPortals (bool b)
 Sets the portal visibility flag. More...
 
virtual void setSkyBox (bool enable, const String &materialName, Real distance=5000, bool drawFirst=true, const Quaternion &orientation=Quaternion::IDENTITY, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky box' i.e. More...
 
virtual void setSkyBoxEnabled (bool enable)
 Enables / disables a 'sky box'. More...
 
virtual void setSkyDome (bool enable, const String &materialName, Real curvature=10, Real tiling=8, Real distance=4000, bool drawFirst=true, const Quaternion &orientation=Quaternion::IDENTITY, int xsegments=16, int ysegments=16, int ysegments_keep=-1, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky dome' i.e. More...
 
virtual void setSkyDomeEnabled (bool enable)
 Enables / disables a 'sky dome'. More...
 
virtual void setSkyPlane (bool enable, const Plane &plane, const String &materialName, Real scale=1000, Real tiling=10, bool drawFirst=true, Real bow=0, int xsegments=1, int ysegments=1, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky plane' i.e. More...
 
virtual void setSkyPlaneEnabled (bool enable)
 Enables / disables a 'sky plane'. More...
 
void setSkyZone (PCZone *zone)
 Set the zone which contains the sky node. More...
 
virtual void setSpecialCaseRenderQueueMode (SpecialCaseRenderQueueMode mode)
 Sets the way the special case render queue list is processed. More...
 
virtual_l2 void setVisibilityMask (uint32 vmask)
 Sets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. More...
 
virtual void setWorldGeometry (const String &filename)
 Sets the source of the 'world' geometry, i.e. More...
 
virtual void setWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING)
 Sets the source of the 'world' geometry, i.e. More...
 
void setWorldGeometryRenderQueue (uint8 qid)
 Overridden from SceneManager. More...
 
virtual void setZoneGeometry (const String &zoneName, PCZSceneNode *parentNode, const String &filename)
 Set the "main" geometry of the zone. More...
 
virtual void showBoundingBoxes (bool bShow)
 Allows all bounding boxes of scene nodes to be displayed. More...
 
virtual void unregisterSceneNodeListener (SceneNode *sceneNode)
 Unregisters a registered node for listening. More...
 
void updateAllAnimations ()
 Updates all skeletal animations in the scene. More...
 
void updateAllBounds (const ObjectMemoryManagerVec &objectMemManager)
 Updates the world aabbs from all entities in the scene. More...
 
void updateAllLods (const Camera *lodCamera, Real lodBias, uint8 firstRq, uint8 lastRq)
 Updates the Lod values of all objects relative to the given camera. More...
 
void updateAllTransforms ()
 Updates the derived transforms of all nodes in the scene. More...
 
void updateSceneGraph ()
 Updates the scene: Perform high level culling, Node transforms and entity animations. More...
 
void waitForPendingUserScalableTask ()
 Blocks until the the task from processUserScalableTask finishes. More...
 

Static Public Attributes

static uint32 QUERY_ENTITY_DEFAULT_MASK
 Default query mask for entities. More...
 
static uint32 QUERY_FRUSTUM_DEFAULT_MASK
 Default query mask for frusta and cameras. More...
 
static uint32 QUERY_FX_DEFAULT_MASK
 Default query mask for effects like billboardsets / particle systems. More...
 
static uint32 QUERY_LIGHT_DEFAULT_MASK
 Default query mask for lights. More...
 
static uint32 QUERY_STATICGEOMETRY_DEFAULT_MASK
 Default query mask for StaticGeometry. More...
 

Protected Types

typedef map< String, Animation * >
::type 
AnimationList
 Storage of animations, lookup by name. More...
 
typedef vector
< AutoTrackingSceneNode >
::type 
AutoTrackingSceneNodeVec
 
enum  BoxPlane {
  BP_FRONT = 0, BP_BACK = 1, BP_LEFT = 2, BP_RIGHT = 3,
  BP_UP = 4, BP_DOWN = 5
}
 
typedef vector< Camera * >::type CameraList
 
typedef map< IdString, Camera * >
::type 
CameraMap
 
typedef vector
< CompositorTexture >::type 
CompositorTextureVec
 
typedef vector
< EntityMaterialLodChangedEvent >
::type 
EntityMaterialLodChangedEventList
 List of entity material LOD changed events. More...
 
typedef vector
< EntityMeshLodChangedEvent >
::type 
EntityMeshLodChangedEventList
 List of entity mesh LOD changed events. More...
 
typedef vector
< InstanceManager * >::type 
InstanceManagerVec
 
typedef map< Light const
*, LightClippingInfo >::type 
LightClippingInfoMap
 
typedef vector< LightInfo >::type LightInfoList
 
typedef vector< Listener * >::type ListenerList
 
typedef set< LodListener * >::type LodListenerSet
 Set of registered LOD listeners. More...
 
typedef map< String,
MovableObjectCollection * >
::type 
MovableObjectCollectionMap
 
typedef vector
< MovableObjectLodChangedEvent >
::type 
MovableObjectLodChangedEventList
 List of movable object LOD changed events. More...
 
typedef vector< MovableObject * >
::type 
MovableObjectVec
 
typedef vector
< NodeMemoryManager * >::type 
NodeMemoryManagerVec
 
typedef vector
< ObjectMemoryManager * >
::type 
ObjectMemoryManagerVec
 
typedef vector
< RenderObjectListener * >
::type 
RenderObjectListenerList
 
typedef vector
< RenderQueueListener * >
::type 
RenderQueueListenerList
 
enum  RequestType {
  CULL_FRUSTUM, UPDATE_ALL_ANIMATIONS, UPDATE_ALL_TRANSFORMS, UPDATE_ALL_BOUNDS,
  UPDATE_ALL_LODS, UPDATE_INSTANCE_MANAGERS, CULL_FRUSTUM_INSTANCEDENTS, USER_UNIFORM_SCALABLE_TASK,
  NUM_REQUESTS
}
 
typedef vector< SceneNode * >::type SceneNodeList
 
typedef vector
< SkeletonAnimManager * >
::type 
SkeletonAnimManagerVec
 
typedef set< uint8 >::type SpecialCaseRenderQueueList
 
typedef map< String,
StaticGeometry * >::type 
StaticGeometryList
 

Protected Member Functions

virtual void bindGpuProgram (GpuProgram *prog)
 
virtual ClipResult buildAndSetLightClip (const LightList &ll)
 Build a set of user clip planes from a single non-directional light. More...
 
virtual ClipResult buildAndSetScissor (const LightList &ll, const Camera *cam)
 Set up a scissor rectangle from a group of lights. More...
 
virtual void buildLightClip (const Light *l, PlaneList &planes)
 
void buildLightList ()
 Builds a list of all lights that are visible by all queued cameras (this should be fed by Compositor). More...
 
virtual void buildScissor (const Light *l, const Camera *cam, RealRect &rect)
 Update a scissor rectangle from a single light. More...
 
virtual void checkCachedLightClippingInfo ()
 
template<typename T >
void checkMovableObjectIntegrity (const typename vector< T * >::type &container, const T *mo) const
 To be used with MovableObjects. More...
 
virtual AutoParamDataSourcecreateAutoParamDataSource (void) const
 Internal method for creating the AutoParamDataSource instance. More...
 
virtual SceneNodecreateSceneNodeImpl (SceneNode *parent, SceneMemoryMgrTypes sceneType)
 Subclasses can override this to ensure their specialised SceneNode is used. More...
 
virtual MeshPtr createSkyboxPlane (BoxPlane bp, Real distance, const Quaternion &orientation, const String &groupName)
 
virtual MeshPtr createSkydomePlane (BoxPlane bp, Real curvature, Real tiling, Real distance, const Quaternion &orientation, int xsegments, int ysegments, int ySegmentsToKeep, const String &groupName)
 
void cullFrustum (const CullFrustumRequest &request, size_t threadIdx)
 Low level culling, culls all objects against the given frustum active cameras. More...
 
virtual_l2 const PassderiveShadowCasterPass (const Pass *pass)
 Internal method for turning a regular pass into a shadow caster pass. More...
 
virtual void destroyShadowTextures (void)
 Internal method for destroying shadow textures (texture-based shadows) More...
 
virtual void ensureShadowTexturesCreated ()
 Internal method for creating shadow textures (texture-based shadows) More...
 
virtual void findLightsAffectingFrustum (const Camera *camera)
 Internal method for locating a list of lights which could be affecting the frustum. More...
 
void fireCullFrustumInstanceBatchThreads (const InstanceBatchCullRequest &request)
 
void fireCullFrustumThreads (const CullFrustumRequest &request)
 Launches cullFrustum on all worker threads with the requested parameters. More...
 
virtual void firePostFindVisibleObjects (Viewport *v)
 Internal method for firing find visible objects event. More...
 
virtual void firePostRenderQueues ()
 Internal method for firing the queue end event. More...
 
virtual void firePreFindVisibleObjects (Viewport *v)
 Internal method for firing find visible objects event. More...
 
virtual void firePreRenderQueues ()
 Internal method for firing the queue start event. More...
 
virtual bool fireRenderQueueEnded (uint8 id, const String &invocation)
 Internal method for firing the queue end event, returns true if queue is to be repeated. More...
 
virtual bool fireRenderQueueStarted (uint8 id, const String &invocation)
 Internal method for firing the queue start event, returns true if queue is to be skipped. More...
 
virtual void fireRenderSingleObject (Renderable *rend, const Pass *pass, const AutoParamDataSource *source, const LightList *pLightList, bool suppressRenderStateChanges)
 Internal method for firing when rendering a single object. More...
 
virtual void fireSceneManagerDestroyed ()
 Internal method for firing destruction event. More...
 
virtual void fireShadowTexturesPreCaster (Light *light, Camera *camera, size_t iteration)
 Internal method for firing the pre caster texture shadows event. More...
 
virtual void fireShadowTexturesPreCaster (const Light *light, Camera *camera, size_t iteration)
 Internal method for firing the pre caster texture shadows event. More...
 
virtual void fireShadowTexturesUpdated (size_t numberOfShadowTextures)
 Internal method for firing the texture shadows updated event. More...
 
MovableObjectCollectiongetMovableObjectCollection (const String &typeName)
 Gets the movable object collection for the given type name. More...
 
const MovableObjectCollectiongetMovableObjectCollection (const String &typeName) const
 Gets the movable object collection for the given type name. More...
 
virtual void highLevelCull ()
 Culls the scene in a high level fashion (i.e. More...
 
virtual void initRenderQueue (void)
 Internal method for initialising the render queue. More...
 
void instanceBatchCullFrustumThread (const InstanceBatchCullRequest &request, size_t threadIdx)
 Traverses mVisibleObjects[threadIdx] from each thread to call MovableObject::instanceBatchCullFrustumThreaded (which is supposed to cull objects) More...
 
 OGRE_MUTEX (mMovableObjectCollectionMapMutex)
 Mutex over the collection of MovableObject types. More...
 
 OGRE_MUTEX (mAnimationsListMutex)
 
 OGRE_SIMD_ALIGNED_DECL (Matrix4, mTempXform[256])
 
virtual void prepareRenderQueue (void)
 Internal method for preparing the render queue for use with each render. More...
 
void propagateRelativeOrigin (SceneNode *sceneNode, const Vector3 &relativeOrigin)
 Permanently applies the relative origin change and propagates to children nodes. More...
 
virtual_l1 void renderBasicQueueGroupObjects (RenderQueueGroup *pGroup, QueuedRenderableCollection::OrganisationMode om)
 Render a group in the ordinary way. More...
 
virtual_l1 void renderObjects (const QueuedRenderableCollection &objs, QueuedRenderableCollection::OrganisationMode om, bool lightScissoringClipping, bool doLightIteration)
 Render a set of objects, see renderSingleObject for param definitions. More...
 
virtual_l1 void renderSingleObject (Renderable *rend, const Pass *pass, bool lightScissoringClipping, bool doLightIteration)
 Internal utility method for rendering a single object. More...
 
virtual_l1 void renderTextureShadowCasterQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render a group rendering only shadow casters. More...
 
virtual_l1 void renderTransparentShadowCasterObjects (const QueuedRenderableCollection &objs, QueuedRenderableCollection::OrganisationMode om, bool lightScissoringClipping, bool doLightIteration)
 Render those objects in the transparent pass list which have shadow casting forced on. More...
 
virtual void renderVisibleObjectsCustomSequence (RenderQueueInvocationSequence *s)
 Internal method for rendering all objects using a custom queue sequence. More...
 
virtual void renderVisibleObjectsDefaultSequence (void)
 Internal method for rendering all objects using the default queue sequence. More...
 
virtual void resetLightClip ()
 
virtual void resetScissor ()
 
virtual void resetViewProjMode (bool fixedFunction)
 Internal method used by _renderSingleObject to deal with renderables which override the camera's own view / projection matrices. More...
 
virtual void setViewMatrix (const Matrix4 &m)
 
virtual void setViewport (Viewport *vp)
 Internal method for setting the destination viewport for the next render. More...
 
void startWorkerThreads ()
 
void stopWorkerThreads ()
 
void updateAllAnimationsThread (size_t threadIdx)
 Updates the Animations from the given request inside a thread. More...
 
void updateAllBoundsThread (const ObjectMemoryManagerVec &objectMemManager, size_t threadIdx)
 Updates the world aabbs from the given request inside a thread. More...
 
void updateAllLodsThread (const UpdateLodRequest &request, size_t threadIdx)
 
void updateAllTransformsThread (const UpdateTransformRequest &request, size_t threadIdx)
 Updates the Nodes from the given request inside a thread. More...
 
void updateAnimationTransforms (BySkeletonDef &bySkeletonDef, size_t threadIdx)
 
virtual void updateGpuProgramParameters (const Pass *p)
 
void updateInstanceManagers (void)
 Updates all instance managers with dirty instance batches. More...
 
void updateInstanceManagersThread (size_t threadIdx)
 Updates all instance managers with dirty instance batches from multiple threads. More...
 
virtual void useLights (const LightList &lights, unsigned short limit)
 
virtual void useLightsGpuProgram (const Pass *pass, const LightList *lights)
 
virtual void useRenderableViewProjMode (const Renderable *pRend, bool fixedFunction)
 Internal method used by _renderSingleObject to deal with renderables which override the camera's own view / projection materices. More...
 
virtual_l2 bool validatePassForRendering (const Pass *pass)
 Internal method to validate whether a Pass should be allowed to render. More...
 

Protected Attributes

PCZonemActiveCameraZone
 The zone of the active camera (for shadow texture casting use);. More...
 
CompositorChain * mActiveCompositorChain
 
SceneMgrQueuedRenderableVisitormActiveQueuedRenderableVisitor
 The active renderable visitor class - subclasses could override this. More...
 
ColourValue mAmbientLight
 Current ambient light, cached for RenderSystem. More...
 
AnimationList mAnimationsList
 
AnimationStateSet mAnimationStates
 
AntiPortalList mAntiPortals
 Master list of AntiPortals in the world. More...
 
AutoParamDataSourcemAutoParamDataSource
 Utility class for calculating automatic parameters for gpu programs. More...
 
AutoTrackingSceneNodeVec mAutoTrackingSceneNodes
 
Matrix4 mCachedViewMatrix
 Whether to use camera-relative rendering. More...
 
CameramCameraInProgress
 Camera in progress. More...
 
CameraList mCameras
 Central list of cameras - for easy memory management and lookup. More...
 
CameraMap mCamerasByName
 
CompositorTextureVec mCompositorTextures
 
FrustumVec mCubeMapCameras
 
CullFrustumRequest mCurrentCullFrustumRequest
 
CompositorShadowNodemCurrentShadowNode
 
ViewportmCurrentViewport
 Current Viewport. More...
 
SceneMgrQueuedRenderableVisitor mDefaultQueuedRenderableVisitor
 Storage for default renderable visitor. More...
 
Real mDefaultShadowFarDist
 
Real mDefaultShadowFarDistSquared
 
PCZonemDefaultZone
 The root PCZone;. More...
 
String mDefaultZoneFileName
 Name of data file for default zone. More...
 
String mDefaultZoneTypeName
 Type of default zone to be used. More...
 
RenderSystemmDestRenderSystem
 The rendering system to send the scene to. More...
 
bool mDisplayNodes
 Flag indicating whether SceneNodes will be rendered as a set of 3 axes. More...
 
ObjectMemoryManagerVec mEntitiesMemoryManagerCulledList
 
ObjectMemoryManagerVec mEntitiesMemoryManagerUpdateList
 
EntityMaterialLodChangedEventList mEntityMaterialLodChangedEvents
 
ObjectMemoryManager mEntityMemoryManager [NUM_SCENE_MEMORY_MANAGER_TYPES]
 
EntityMeshLodChangedEventList mEntityMeshLodChangedEvents
 
volatile bool mExitWorkerThreads
 
bool mFindVisibleObjects
 
GpuProgramParametersSharedPtr mFiniteExtrusionParams
 
bool mFlipCullingOnNegativeScale
 
ColourValue mFogColour
 
Real mFogDensity
 
Real mFogEnd
 
FogMode mFogMode
 
Real mFogStart
 
unsigned long mFrameCount
 Frame counter used in visibility determination. More...
 
Rectangle2DmFullScreenQuad
 
LightListInfo mGlobalLightList
 Updated every frame, has enough memory to hold all lights. More...
 
uint16 mGpuParamsDirty
 Gpu params that need rebinding (mask of GpuParamVariability) More...
 
IlluminationRenderStage mIlluminationStage
 
GpuProgramParametersSharedPtr mInfiniteExtrusionParams
 
InstanceBatchCullRequest mInstanceBatchCullRequest
 
InstanceManagerVec mInstanceManagers
 
InstancingTheadedCullingMethod mInstancingThreadedCullingMethod
 
CameramLastActiveCamera
 Camera of last _findVisibleObjects() More...
 
unsigned long mLastFrameNumber
 
uint32 mLastLightHash
 Last light sets. More...
 
uint32 mLastLightHashGpuProgram
 
unsigned short mLastLightLimit
 
bool mLastRenderQueueInvocationCustom
 
bool mLateMaterialResolving
 
LightClippingInfoMap mLightClippingInfoMap
 
unsigned long mLightClippingInfoMapFrameNumber
 
ObjectMemoryManager mLightMemoryManager
 
ObjectMemoryManagerVec mLightsMemoryManagerCulledList
 
ListenerList mListeners
 
LodListenerSet mLodListeners
 
MovableObjectCollectionMap mMovableObjectCollectionMap
 
MovableObjectLodChangedEventList mMovableObjectLodChangedEvents
 
String mName
 Instance name. More...
 
NodeMemoryManager mNodeMemoryManager [NUM_SCENE_MEMORY_MANAGER_TYPES]
 These are the main memory managers. More...
 
NodeMemoryManagerVec mNodeMemoryManagerUpdateList
 Filled and cleared every frame in HighLevelCull() More...
 
bool mNormaliseNormalsOnScale
 
size_t mNumWorkerThreads
 
CullingMode mPassCullingMode
 
PortalList mPortals
 Master list of Portals in the world (includes all portals) More...
 
Vector3 mRelativeOffset
 
RenderObjectListenerList mRenderObjectListeners
 
RenderQueuemRenderQueue
 Queue of objects for rendering. More...
 
RenderQueueListenerList mRenderQueueListeners
 
RequestType mRequestType
 
bool mResetIdentityProj
 
bool mResetIdentityView
 
SceneNodeList mSceneNodes
 Central list of SceneNodes - for easy memory management. More...
 
SceneNodeList mSceneNodesWithListeners
 
SceneNodemSceneRoot [NUM_SCENE_MEMORY_MANAGER_TYPES]
 Root scene node. More...
 
PassmShadowCasterPlainBlackPass
 A pass designed to let us render shadow colour on white for texture shadows. More...
 
bool mShadowCasterRenderBackFaces
 
ColourValue mShadowColour
 
Real mShadowDirLightExtrudeDist
 
HardwareIndexBufferSharedPtr mShadowIndexBuffer
 
size_t mShadowIndexBufferUsedSize
 
GpuProgramParametersSharedPtr mShadowTextureCustomCasterFPParams
 
String mShadowTextureCustomCasterFragmentProgram
 
PassmShadowTextureCustomCasterPass
 As a proportion e.g. 0.9. More...
 
String mShadowTextureCustomCasterVertexProgram
 
GpuProgramParametersSharedPtr mShadowTextureCustomCasterVPParams
 
Real mShadowTextureFadeEnd
 As a proportion e.g. 0.6. More...
 
Real mShadowTextureFadeStart
 Proportion of texture offset in view direction e.g. 0.4. More...
 
vector< size_t >::type mShadowTextureIndexLightList
 Array defining shadow texture index in light list. More...
 
Real mShadowTextureOffset
 
bool mShowBoundingBoxes
 Flag that indicates if all of the scene node's bounding boxes should be shown as a wireframe. More...
 
bool mShowPortals
 Portals visibility flag. More...
 
SkeletonAnimManager mSkeletonAnimationManager
 
SkeletonAnimManagerVec mSkeletonAnimManagerCulledList
 
bool mSkyBoxEnabled
 
SkyBoxGenParameters mSkyBoxGenParameters
 
SceneNodemSkyBoxNode
 
ManualObjectmSkyBoxObj
 
Quaternion mSkyBoxOrientation
 
bool mSkyDomeEnabled
 
EntitymSkyDomeEntity [5]
 
SkyDomeGenParameters mSkyDomeGenParameters
 
SceneNodemSkyDomeNode
 
Quaternion mSkyDomeOrientation
 
Plane mSkyPlane
 
bool mSkyPlaneEnabled
 
EntitymSkyPlaneEntity
 
SkyPlaneGenParameters mSkyPlaneGenParameters
 
SceneNodemSkyPlaneNode
 
SpecialCaseRenderQueueList mSpecialCaseQueueList
 
SpecialCaseRenderQueueMode mSpecialCaseQueueMode
 
bool mStaticEntitiesDirty
 Whether mEntityMemoryManager[SCENE_STATIC] is dirty (assume all render queues, you shouldn't be doing this often anyway!) More...
 
StaticGeometryList mStaticGeometryList
 
uint16 mStaticMinDepthLevelDirty
 Minimum depth level at which mNodeMemoryManager[SCENE_STATIC] is dirty. More...
 
bool mSuppressRenderStateChanges
 Suppress render state changes? More...
 
VisibleObjectsPerThreadArray mTmpVisibleObjects
 mVisibleObjects. More...
 
ObjectMemoryManagerVec const * mUpdateBoundsRequest
 
UpdateLodRequest mUpdateLodRequest
 
UpdateTransformRequest mUpdateTransformRequest
 
UniformScalableTaskmUserTask
 
uint32 mVisibilityMask
 Visibility mask used to show / hide objects. More...
 
NodeList mVisible
 List of visible nodes since last _findVisibleObjects() More...
 
FrustumVec mVisibleCameras
 
VisibleObjectsPerThreadArray mVisibleObjects
 Contains MovableObjects to be visited and rendered. More...
 
VisibleObjectsPerThreadArray mVisibleObjectsBackup
 CompositorShadowNode remarks More...
 
ThreadHandleVec mWorkerThreads
 
BarriermWorkerThreadsBarrier
 
uint8 mWorldGeometryRenderQueue
 
PCZoneFactoryManagermZoneFactoryManager
 ZoneFactoryManager instance. More...
 
ZoneMap mZones
 The list of all PCZones. More...
 

Friends

class PCZAxisAlignedBoxSceneQuery
 
class PCZIntersectionSceneQuery
 
class PCZPlaneBoundedVolumeListSceneQuery
 
class PCZRaySceneQuery
 
class PCZSphereSceneQuery
 

Detailed Description

Specialized SceneManager that uses Portal-Connected-Zones to divide the scene spatially.

Definition at line 55 of file OgrePCZSceneManager.h.

Member Typedef Documentation

typedef map<String, Animation*>::type Ogre::SceneManager::AnimationList
protectedinherited

Storage of animations, lookup by name.

Definition at line 707 of file OgreSceneManager.h.

Definition at line 554 of file OgreSceneManager.h.

typedef vector<Camera*>::type Ogre::SceneManager::CameraList
protectedinherited

Definition at line 499 of file OgreSceneManager.h.

typedef map<IdString, Camera*>::type Ogre::SceneManager::CameraMap
protectedinherited

Definition at line 500 of file OgreSceneManager.h.

Definition at line 916 of file OgreSceneManager.h.

List of entity material LOD changed events.

Definition at line 1047 of file OgreSceneManager.h.

List of entity mesh LOD changed events.

Definition at line 1043 of file OgreSceneManager.h.

Definition at line 512 of file OgreSceneManager.h.

typedef map<Light const *, LightClippingInfo>::type Ogre::SceneManager::LightClippingInfoMap
protectedinherited

Definition at line 813 of file OgreSceneManager.h.

typedef vector<LightInfo>::type Ogre::SceneManager::LightInfoList
protectedinherited

Definition at line 626 of file OgreSceneManager.h.

typedef vector<Listener*>::type Ogre::SceneManager::ListenerList
protectedinherited

Definition at line 726 of file OgreSceneManager.h.

typedef set<LodListener*>::type Ogre::SceneManager::LodListenerSet
protectedinherited

Set of registered LOD listeners.

Definition at line 1035 of file OgreSceneManager.h.

Definition at line 635 of file OgreSceneManager.h.

List of movable object LOD changed events.

Definition at line 1039 of file OgreSceneManager.h.

typedef vector<MovableObject*>::type Ogre::SceneManager::MovableObjectVec
protectedinherited

Definition at line 628 of file OgreSceneManager.h.

Definition at line 447 of file OgreSceneManager.h.

Definition at line 448 of file OgreSceneManager.h.

Definition at line 724 of file OgreSceneManager.h.

Definition at line 721 of file OgreSceneManager.h.

typedef vector<SceneNode*>::type Ogre::SceneManager::SceneNodeList
protectedinherited

Definition at line 515 of file OgreSceneManager.h.

Definition at line 449 of file OgreSceneManager.h.

typedef set<uint8>::type Ogre::SceneManager::SpecialCaseRenderQueueList
protectedinherited

Definition at line 587 of file OgreSceneManager.h.

typedef map<String, StaticGeometry* >::type Ogre::SceneManager::StaticGeometryList
protectedinherited

Definition at line 509 of file OgreSceneManager.h.

Definition at line 879 of file OgreSceneManager.h.

ZoneMap iterator for read-only access to the zonemap.

Definition at line 317 of file OgrePCZSceneManager.h.

Member Enumeration Documentation

enum Ogre::SceneManager::BoxPlane
protectedinherited
Enumerator
BP_FRONT 
BP_BACK 
BP_LEFT 
BP_RIGHT 
BP_UP 
BP_DOWN 

Definition at line 676 of file OgreSceneManager.h.

Describes the stage of rendering when performing complex illumination.

Enumerator
IRS_NONE 

No special illumination stage.

IRS_RENDER_TO_TEXTURE 

Render to texture stage, used for texture based shadows.

Definition at line 271 of file OgreSceneManager.h.

Prefab shapes available without loading a model.

Note
Minimal implementation at present.
Enumerator
PT_PLANE 
PT_CUBE 
PT_SPHERE 

Definition at line 1346 of file OgreSceneManager.h.

enum Ogre::SceneManager::RequestType
protectedinherited
Enumerator
CULL_FRUSTUM 
UPDATE_ALL_ANIMATIONS 
UPDATE_ALL_TRANSFORMS 
UPDATE_ALL_BOUNDS 
UPDATE_ALL_LODS 
UPDATE_INSTANCE_MANAGERS 
CULL_FRUSTUM_INSTANCEDENTS 
USER_UNIFORM_SCALABLE_TASK 
NUM_REQUESTS 

Definition at line 923 of file OgreSceneManager.h.

Enumeration of the possible modes allowed for processing the special case render queue list.

See also
SceneManager::setSpecialCaseRenderQueueMode
Enumerator
SCRQM_INCLUDE 

Render only the queues in the special case list.

SCRQM_EXCLUDE 

Render all except the queues in the special case list.

Definition at line 283 of file OgreSceneManager.h.

Constructor & Destructor Documentation

Ogre::PCZSceneManager::PCZSceneManager ( const String name)

Standard Constructor.

Ogre::PCZSceneManager::~PCZSceneManager ( )

Standard destructor.

Member Function Documentation

virtual void Ogre::SceneManager::_addAutotrackingSceneNode ( SceneNode source,
SceneNode target,
const Vector3 offset,
const Vector3 localDirection 
)
virtualinherited

Internal method for notifying the manager that a SceneNode is autotracking.

void Ogre::SceneManager::_addCompositorTexture ( IdString  name,
const TextureVec texs 
)
inherited

Used by Compositor, tells of which compositor textures active, so Materials can access them.

If MRT, there could be more than one

Parameters
nameName of the texture(s) as referenced in the compositor (may not be the texture's real name in case it's just one)
texThe actual texture(s) associated with that name
virtual void Ogre::PCZSceneManager::_alertVisibleObjects ( void  )
virtual

Alerts each unculled object, notifying it that it will be drawn.

Useful for doing calculations only on nodes that will be drawn, prior to drawing them...

virtual void Ogre::SceneManager::_applySceneAnimations ( void  )
virtualinherited

Internal method for applying animations to scene nodes.

Remarks
Uses the internally stored AnimationState objects to apply animation to SceneNodes.
virtual bool Ogre::SceneManager::_areRenderStateChangesSuppressed ( void  ) const
inlinevirtualinherited

Are render state changes suppressed?

See also
_suppressRenderStateChanges

Definition at line 3020 of file OgreSceneManager.h.

AxisAlignedBox Ogre::SceneManager::_calculateCurrentCastersBox ( uint32  viewportVisibilityMask,
uint8  firstRq,
uint8  lastRq 
) const
inherited
void Ogre::PCZSceneManager::_calcZonesAffectedByLights ( Camera cam)

Calculate which zones are affected by each light.

void Ogre::PCZSceneManager::_clearAllZonesPortalUpdateFlag ( void  )

Clear portal update flag from all zones.

virtual SceneNode* Ogre::SceneManager::_createSceneNode ( SceneNode parent,
SceneMemoryMgrTypes  sceneType 
)
virtualinherited
See also
createSceneNode. This functions exists to satisfy
SceneNode::createChildImpl Don't call this function directly
Parent to the scene node we're creating.
virtual void Ogre::SceneManager::_cullPhase01 ( Camera camera,
const Camera lodCamera,
Viewport vp,
uint8  firstRq,
uint8  lastRq 
)
virtualinherited

Performs the frustum culling that will later be needed by _renderPhase02.

Remarks
CompositorShadowNode to understand why rendering is split in two phases
Parameters
cameraPointer to a camera from whose viewpoint the scene is to be rendered.
vpThe target viewport
firstRqfirst render queue ID to render (gets clamped if too big)
lastRqlast render queue ID to render (gets clamped if too big)
void Ogre::PCZSceneManager::_dirtyNodeByMovingPortals ( void  )

Mark nodes dirty for every zone with moving portal in the scene.

virtual void Ogre::PCZSceneManager::_findVisibleObjects ( Camera cam,
VisibleObjectsBoundsInfo *  visibleBounds,
bool  onlyShadowCasters 
)
virtual

Recurses through the PCZTree determining which nodes are visible.

virtual CompositorChain* Ogre::SceneManager::_getActiveCompositorChain ( ) const
inlinevirtualinherited

Gets the active compositor chain of the current scene being rendered.

Definition at line 2743 of file OgreSceneManager.h.

uint32 Ogre::SceneManager::_getCombinedVisibilityMask ( void  ) const
inherited

Internal method for getting the combination between the global visibility mask and the per-viewport visibility mask.

IlluminationRenderStage Ogre::SceneManager::_getCurrentRenderStage ( ) const
inlineinherited

Definition at line 3174 of file OgreSceneManager.h.

ObjectMemoryManager& Ogre::SceneManager::_getEntityMemoryManager ( SceneMemoryMgrTypes  sceneType)
inlineinherited

Retrieves the main entity memory manager.

Remarks
Some Scene Managers may have more than one memory manager (e.g. one per octant in an Octree implementation). At end of scene graph update the scene manager may move the object created with the main memory manager into another another one.

Definition at line 1323 of file OgreSceneManager.h.

VisibleObjectsPerThreadArray& Ogre::SceneManager::_getTmpVisibleObjectsList ( )
inlineinherited

mTmpVisibleObjects

Definition at line 1688 of file OgreSceneManager.h.

void Ogre::SceneManager::_handleLodEvents ( )
inherited

Handle LOD events.

virtual void Ogre::SceneManager::_injectRenderWithPass ( Pass pass,
Renderable rend,
Camera activeCamera = 0,
bool  shadowDerivation = true,
bool  doLightIteration = false 
)
virtualinherited

Render something as if it came from the current queue.

Parameters
passMaterial pass to use for setting up this quad.
rendRenderable to render
activeCameraWhen not null, it will override the current camera & viewport settings. Won't restore them back after the call is finished. When null, uses the old camera & viewport settings.
shadowDerivationWhether passes should be replaced with shadow caster passes
virtual void Ogre::SceneManager::_markGpuParamsDirty ( uint16  mask)
virtualinherited

Method to allow you to mark gpu parameters as dirty, causing them to be updated according to the mask that you set when updateGpuProgramParameters is next called.

Only really useful if you're controlling parameter state in inner rendering loop callbacks.

Parameters
maskSome combination of GpuParamVariability which is bitwise OR'ed with the current dirty state.
void Ogre::SceneManager::_notifyEntityMaterialLodChanged ( EntityMaterialLodChangedEvent evt)
inherited

Notify that an entity material LOD change event has occurred.

void Ogre::SceneManager::_notifyEntityMeshLodChanged ( EntityMeshLodChangedEvent evt)
inherited

Notify that an entity mesh LOD change event has occurred.

void Ogre::SceneManager::_notifyMovableObjectLodChanged ( MovableObjectLodChangedEvent evt)
inherited

Notify that a movable object LOD change event has occurred.

virtual RenderContext* Ogre::SceneManager::_pauseRendering ( )
virtualinherited

Pause rendering of the frame.

This has to be called when inside a renderScene call (Usually using a listener of some sort)

virtual void Ogre::SceneManager::_queueSkiesForRendering ( Camera cam)
virtualinherited

Internal method for queueing the sky objects with the params as previously set through setSkyBox, setSkyPlane and setSkyDome.

virtual void Ogre::SceneManager::_removeAutotrackingSceneNode ( SceneNode source)
virtualinherited
void Ogre::SceneManager::_removeCompositorTextures ( size_t  from)
inherited

Removes all compositor textures from 'from' to end.

virtual void Ogre::SceneManager::_renderPhase02 ( Camera camera,
const Camera lodCamera,
Viewport vp,
uint8  firstRq,
uint8  lastRq,
bool  includeOverlays 
)
virtualinherited

Prompts the class to send its contents to the renderer.

Remarks
This method prompts the scene manager to send the contents of the scene it manages to the rendering pipeline. You must have called _cullPhase01 before calling this function. Note that this method is not normally called directly by the user application; it is called automatically by the Ogre rendering loop.
Parameters
cameraPointer to a camera from whose viewpoint the scene is to be rendered.
lodCameraPointer to a camera from whose LOD calculations will be based upon. Can't be null; can be equal to .
vpThe target viewport
firstRqfirst render queue ID to render (gets clamped if too big)
lastRqlast render queue ID to render (gets clamped if too big)
includeOverlaysWhether or not overlay objects should be rendered
virtual void Ogre::SceneManager::_renderQueueGroupObjects ( RenderQueueGroup group,
QueuedRenderableCollection::OrganisationMode  om 
)
virtualinherited

Render the objects in a given queue group.

Remarks
You should only call this from a RenderQueueInvocation implementation
void Ogre::PCZSceneManager::_renderScene ( Camera cam,
Viewport vp,
bool  includeOverlays 
)

Overridden from basic scene manager.

virtual void Ogre::SceneManager::_renderVisibleObjects ( void  )
virtualinherited

Sends visible objects found during _cullPhase01 to the rendering engine.

virtual void Ogre::SceneManager::_resumeRendering ( RenderContext context)
virtualinherited

Resume rendering of the frame.

This has to be called after a _pauseRendering call

Parameters
contextThe rendring context, as returned by the _pauseRendering call
virtual void Ogre::SceneManager::_setActiveCompositorChain ( CompositorChain *  chain)
inlinevirtualinherited

Sets the active compositor chain of the current scene being rendered.

Note
CompositorChain does this automatically, no need to call manually.

Definition at line 2729 of file OgreSceneManager.h.

void Ogre::SceneManager::_setCurrentRenderStage ( IlluminationRenderStage  stage)
inlineinherited

Definition at line 3173 of file OgreSceneManager.h.

void Ogre::SceneManager::_setCurrentShadowNode ( CompositorShadowNode shadowNode)
inherited
virtual void Ogre::SceneManager::_setDestinationRenderSystem ( RenderSystem sys)
virtualinherited

Notifies the scene manager of its destination render system.

Remarks
Called automatically by RenderSystem::addSceneManager this method simply notifies the manager of the render system to which its output must be directed.
Parameters
sysPointer to the RenderSystem subclass to be used as a render target.
virtual const Pass* Ogre::SceneManager::_setPass ( const Pass pass,
bool  evenIfSuppressed = false,
bool  shadowDerivation = true 
)
virtualinherited

Internal method for setting up the renderstate for a rendering pass.

Parameters
passThe Pass details to set.
evenIfSuppressedSets the pass details even if render state changes are suppressed; if you are using this to manually set state when render state changes are suppressed, you should set this to true.
shadowDerivationIf false, disables the derivation of shadow passes from original passes
Returns
A Pass object that was used instead of the one passed in, can happen when rendering shadow passes
virtual void Ogre::SceneManager::_setSkyBox ( bool  enable,
const String materialName,
Real  distance = 5000,
uint8  renderQueue = RENDER_QUEUE_SKIES_EARLY,
const Quaternion orientation = Quaternion::IDENTITY,
const String groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)
virtualinherited

Enables / disables a 'sky box' i.e.

a 6-sided box at constant distance from the camera representing the sky.

Remarks
You could create a sky box yourself using the standard mesh and entity methods, but this creates a plane which the camera can never get closer or further away from - it moves with the camera. (NB you could create this effect by creating a world box which was attached to the same SceneNode as the Camera too, but this would only apply to a single camera whereas this skybox applies to any camera using this scene manager).
The material you use for the skybox can either contain layers which are single textures, or they can be cubic textures, i.e. made up of 6 images, one for each plane of the cube. See the TextureUnitState class for more information.
Parameters
enableTrue to enable the skybox, false to disable it
materialNameThe name of the material the box will use
distanceDistance in world coorinates from the camera to each plane of the box. The default is normally OK.
renderQueueThe render queue to use when rendering this object
orientationOptional parameter to specify the orientation of the box. By default the 'top' of the box is deemed to be in the +y direction, and the 'front' at the -z direction. You can use this parameter to rotate the sky if you want.
groupNameThe name of the resource group to which to assign the plane mesh.
virtual void Ogre::SceneManager::_setSkyDome ( bool  enable,
const String materialName,
Real  curvature = 10,
Real  tiling = 8,
Real  distance = 4000,
uint8  renderQueue = RENDER_QUEUE_SKIES_EARLY,
const Quaternion orientation = Quaternion::IDENTITY,
int  xsegments = 16,
int  ysegments = 16,
int  ysegments_keep = -1,
const String groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)
virtualinherited

Enables / disables a 'sky dome' i.e.

an illusion of a curved sky.

Remarks
A sky dome is actually formed by 5 sides of a cube, but with texture coordinates generated such that the surface appears curved like a dome. Sky domes are appropriate where you need a realistic looking sky where the scene is not going to be 'fogged', and there is always a 'floor' of some sort to prevent the viewer looking below the horizon (the distortion effect below the horizon can be pretty horrible, and there is never anyhting directly below the viewer). If you need a complete wrap-around background, use the setSkyBox method instead. You can actually combine a sky box and a sky dome if you want, to give a positional backdrop with an overlayed curved cloud layer.
Sky domes work well with 2D repeating textures like clouds. You can change the apparent 'curvature' of the sky depending on how your scene is viewed - lower curvatures are better for 'open' scenes like landscapes, whilst higher curvatures are better for say FPS levels where you don't see a lot of the sky at once and the exaggerated curve looks good.
Parameters
enableTrue to enable the skydome, false to disable it
materialNameThe name of the material the dome will use
curvatureThe curvature of the dome. Good values are between 2 and 65. Higher values are more curved leading to a smoother effect, lower values are less curved meaning more distortion at the horizons but a better distance effect.
tilingHow many times to tile the texture(s) across the dome.
distanceDistance in world coorinates from the camera to each plane of the box the dome is rendered on. The default is normally OK.
renderQueueThe render queue to use when rendering this object
orientationOptional parameter to specify the orientation of the dome. By default the 'top' of the dome is deemed to be in the +y direction, and the 'front' at the -z direction. You can use this parameter to rotate the sky if you want.
groupNameThe name of the resource group to which to assign the plane mesh.
virtual void Ogre::SceneManager::_setSkyPlane ( bool  enable,
const Plane plane,
const String materialName,
Real  scale = 1000,
Real  tiling = 10,
uint8  renderQueue = RENDER_QUEUE_SKIES_EARLY,
Real  bow = 0,
int  xsegments = 1,
int  ysegments = 1,
const String groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)
virtualinherited

Enables / disables a 'sky plane' i.e.

a plane at constant distance from the camera representing the sky.

Remarks
You can create sky planes yourself using the standard mesh and entity methods, but this creates a plane which the camera can never get closer or further away from - it moves with the camera. (NB you could create this effect by creating a world plane which was attached to the same SceneNode as the Camera too, but this would only apply to a single camera whereas this plane applies to any camera using this scene manager).
Note
To apply scaling, scrolls etc to the sky texture(s) you should use the TextureUnitState class methods.
Parameters
enableTrue to enable the plane, false to disable it
planeDetails of the plane, i.e. it's normal and it's distance from the camera.
materialNameThe name of the material the plane will use
scaleThe scaling applied to the sky plane - higher values mean a bigger sky plane - you may want to tweak this depending on the size of plane.d and the other characteristics of your scene
tilingHow many times to tile the texture across the sky. Applies to all texture layers. If you need finer control use the TextureUnitState texture coordinate transformation methods.
renderQueueThe render queue to use when rendering this object
bowIf zero, the plane will be completely flat (like previous versions. If above zero, the plane will be curved, allowing the sky to appear below camera level. Curved sky planes are simular to skydomes, but are more compatible with fog.
xsegments,ysegmentsDetermines the number of segments the plane will have to it. This is most important when you are bowing the plane, but may also be useful if you need tessellation on the plane to perform per-vertex effects.
groupNameThe name of the resource group to which to assign the plane mesh.
void Ogre::SceneManager::_setViewport ( Viewport vp)
inlineinherited

Definition at line 1813 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::_suppressRenderStateChanges ( bool  suppress)
virtualinherited

Indicates to the SceneManager whether it should suppress changing the RenderSystem states when rendering objects.

Remarks
This method allows you to tell the SceneManager not to change any RenderSystem state until you tell it to. This method is only intended for advanced use, don't use it if you're unsure of the effect. The only RenderSystems calls made are to set the world matrix for each object (note - view an projection matrices are NOT SET - they are under your control) and to render the object; it is up to the caller to do everything else, including enabling any vertex / fragment programs and updating their parameter state, and binding parameters to the RenderSystem.
Note
Calling this implicitly disables shadow processing since no shadows can be rendered without changing state.
Parameters
suppressIf true, no RenderSystem state changes will be issued until this method is called again with a parameter of false.
void Ogre::SceneManager::_swapVisibleObjectsForShadowMapping ( )
inherited
void Ogre::PCZSceneManager::_updateHomeZone ( PCZSceneNode ,
bool   
)

Make sure the home zone for the PCZSceneNode is up-to-date.

void Ogre::PCZSceneManager::_updatePCZSceneNode ( PCZSceneNode )

Checks the given SceneNode, and determines if it needs to be moved to a different PCZone or be added to the visitors list of other PCZone(s).

void Ogre::PCZSceneManager::_updatePCZSceneNodes ( void  )

Update the PCZSceneNodes.

void Ogre::PCZSceneManager::_updatePortalZoneData ( void  )

Check/Update the zone data for every portal in the scene.

Essentially, this routine checks each portal for intersections with other portals and updates if a crossing occurs

virtual void Ogre::PCZSceneManager::_updateSceneGraph ( Camera cam)
virtual

Update Scene Graph (does several things now)

unsigned long Ogre::SceneManager::_updateWorkerThread ( ThreadHandle threadHandle)
inherited

Called from the worker thread, polls to process frustum culling requests when a sync is performed.

virtual void Ogre::SceneManager::addListener ( Listener s)
virtualinherited

Add a listener which will get called back on scene manager events.

void Ogre::SceneManager::addLodListener ( LodListener listener)
inherited

Add a level of detail listener.

void Ogre::PCZSceneManager::addPCZSceneNode ( PCZSceneNode sn,
PCZone zone 
)

add a PCZSceneNode to the scene by putting it in a zone NOTE: This zone will be the scene node's home zone

virtual void Ogre::SceneManager::addRenderObjectListener ( RenderObjectListener newListener)
virtualinherited

Registers a new Render Object Listener which will be notified when rendering an object.

virtual void Ogre::SceneManager::addRenderQueueListener ( RenderQueueListener newListener)
virtualinherited

Registers a new RenderQueueListener which will be notified when render queues are processed.

virtual void Ogre::SceneManager::addSpecialCaseRenderQueue ( uint8  qid)
virtualinherited

Adds an item to the 'special case' render queue list.

Remarks
Normally all render queues are rendered, in their usual sequence, only varying if a RenderQueueListener nominates for the queue to be repeated or skipped. This method allows you to add a render queue to a 'special case' list, which varies the behaviour. The effect of this list depends on the 'mode' in which this list is in, which might be to exclude these render queues, or to include them alone (excluding all other queues). This allows you to perform broad selective rendering without requiring a RenderQueueListener.
Parameters
qidThe identifier of the queue which should be added to the special case list. Nothing happens if the queue is already in the list.
virtual void Ogre::SceneManager::bindGpuProgram ( GpuProgram prog)
protectedvirtualinherited
virtual ClipResult Ogre::SceneManager::buildAndSetLightClip ( const LightList ll)
protectedvirtualinherited

Build a set of user clip planes from a single non-directional light.

virtual ClipResult Ogre::SceneManager::buildAndSetScissor ( const LightList ll,
const Camera cam 
)
protectedvirtualinherited

Set up a scissor rectangle from a group of lights.

virtual void Ogre::SceneManager::buildLightClip ( const Light l,
PlaneList planes 
)
protectedvirtualinherited
void Ogre::SceneManager::buildLightList ( )
protectedinherited

Builds a list of all lights that are visible by all queued cameras (this should be fed by Compositor).

Then calls MovableObject::buildLightList with that list so that each MovableObject gets it's own sorted list of the closest lights.

Remarks
MovableObject::buildLightList()
virtual void Ogre::SceneManager::buildScissor ( const Light l,
const Camera cam,
RealRect rect 
)
protectedvirtualinherited

Update a scissor rectangle from a single light.

virtual void Ogre::SceneManager::checkCachedLightClippingInfo ( )
protectedvirtualinherited
template<typename T >
void Ogre::SceneManager::checkMovableObjectIntegrity ( const typename vector< T * >::type &  container,
const T *  mo 
) const
protectedinherited

To be used with MovableObjects.

Checks that the input pointer's mGlobalIndex is consistent with the container, otherwise there's a bug and mGlobalIndex is out of date (or could be caused by memory corruption, of course)

Remarks
It is a template since it's legal to pass a vector<Camera> since Camera is derived from MovableObject too; but would fail compilation.
Parameters
containerThe container that allegedly holds the mo.
moMovableObject whose integrity is going to be checked
void Ogre::SceneManager::clearFrameData ( void  )
inherited

Clears temporary buffers and other data that needs to live every frame.

virtual void Ogre::PCZSceneManager::clearScene ( void  )
virtual

Overridden to clean up zones.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::SceneManager::clearSpecialCaseRenderQueues ( void  )
virtualinherited

Clears the 'special case' render queue list.

See also
SceneManager::addSpecialCaseRenderQueue
void Ogre::PCZSceneManager::connectPortalsToTargetZonesByLocation ( void  )
AxisAlignedBoxSceneQuery* Ogre::PCZSceneManager::createAABBQuery ( const AxisAlignedBox box,
uint32  mask = 0xFFFFFFFF 
)
virtual

Overridden from SceneManager.

Reimplemented from Ogre::SceneManager.

virtual Animation* Ogre::SceneManager::createAnimation ( const String name,
Real  length 
)
virtualinherited

Creates an animation which can be used to animate scene nodes.

Remarks
An animation is a collection of 'tracks' which over time change the position / orientation of Node objects. In this case, the animation will likely have tracks to modify the position / orientation of SceneNode objects, e.g. to make objects move along a path.
You don't need to use an Animation object to move objects around - you can do it yourself using the methods of the Node in your FrameListener class. However, when you need relatively complex scripted animation, this is the class to use since it will interpolate between keyframes for you and generally make the whole process easier to manage.
A single animation can affect multiple Node objects (each AnimationTrack affects a single Node). In addition, through animation blending a single Node can be affected by multiple animations, athough this is more useful when performing skeletal animation (see Skeleton::createAnimation).
Note that whilst it uses the same classes, the animations created here are kept separate from the skeletal animations of meshes (each Skeleton owns those animations).
Parameters
nameThe name of the animation, must be unique within this SceneManager.
lengthThe total length of the animation.
virtual AnimationState* Ogre::SceneManager::createAnimationState ( const String animName)
virtualinherited

Create an AnimationState object for managing application of animations.

Remarks
You can create Animation objects for animating SceneNode obejcts using the createAnimation method. However, in order to actually apply those animations you have to call methods on Node and Animation in a particular order (namely Node::resetToInitialState and Animation::apply). To make this easier and to help track the current time position of animations, the AnimationState object is provided. So if you don't want to control animation application manually, call this method, update the returned object as you like every frame and let SceneManager apply the animation state for you.
Remember, AnimationState objects are disabled by default at creation time. Turn them on when you want them using their setEnabled method.
Note that any SceneNode affected by this automatic animation will have it's state reset to it's initial position before application of the animation. Unless specifically modified using Node::setInitialState the Node assumes it's initial state is at the origin. If you want the base state of the SceneNode to be elsewhere, make your changes to the node using the standard transform methods, then call setInitialState to 'bake' this reference position into the node.
If the target of your animation is to be a generic AnimableValue, you should ensure that it has a base value set (unlike nodes this has no default).
See also
AnimableValue::setAsBaseValue.
Parameters
animNameThe name of an animation created already with createAnimation.
AntiPortal* Ogre::PCZSceneManager::createAntiPortal ( const String name,
PortalBase::PORTAL_TYPE  type = PortalBase::PORTAL_TYPE_QUAD 
)

Create a new anti portal instance.

virtual AutoParamDataSource* Ogre::SceneManager::createAutoParamDataSource ( void  ) const
inlineprotectedvirtualinherited

Internal method for creating the AutoParamDataSource instance.

Definition at line 785 of file OgreSceneManager.h.

References OGRE_NEW.

virtual BillboardChain* Ogre::SceneManager::createBillboardChain ( )
virtualinherited

Create a BillboardChain, an object which you can use to render a linked chain of billboards.

virtual BillboardSet* Ogre::SceneManager::createBillboardSet ( unsigned int  poolSize = 20)
virtualinherited

Creates a new BillboardSet for use with this scene manager.

Remarks
This method creates a new BillboardSet which is registered with the SceneManager. The SceneManager will destroy this object when it shuts down or when the SceneManager::clearScene method is called, so the caller does not have to worry about destroying this object (in fact, it definitely should not do this).
See the BillboardSet documentations for full details of the returned class.
Parameters
poolSizeThe initial size of the pool of billboards (see BillboardSet for more information)
See also
BillboardSet
virtual Camera* Ogre::PCZSceneManager::createCamera ( const String name)
virtual

Creates a specialized PCZCamera.

virtual Camera* Ogre::SceneManager::createCamera ( const String name,
bool  notShadowCaster = true,
bool  forCubemapping = false 
)
virtualinherited

Creates a camera to be managed by this scene manager.

Remarks
This camera must be added to the scene at a later time using the attachObject method of the SceneNode class.
Parameters
nameName to give the new camera. Must be unique.
notShadowCasterTrue if this camera should be considered when creating the global light list of culled lights against all cameras. For example, cameras used for shadow mapping shouldn't be taken into account (set to false)
forCubemappingTrue this camera will be used at least once in one of its passes as a cubemap (thus having to change the orientation but not position mid-rendering)
virtual Entity* Ogre::SceneManager::createEntity ( const String meshName,
const String groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME,
SceneMemoryMgrTypes  sceneType = SCENE_DYNAMIC 
)
virtualinherited

Create an Entity (instance of a discrete mesh).

Parameters
meshNameThe name of the Mesh it is to be based on (e.g. 'knot.oof'). The mesh will be loaded if it is not already.
virtual Entity* Ogre::SceneManager::createEntity ( const MeshPtr pMesh,
SceneMemoryMgrTypes  sceneType = SCENE_DYNAMIC 
)
virtualinherited

Create an Entity (instance of a discrete mesh).

Parameters
pMeshThe pointer to the Mesh it is to be based on.
virtual Entity* Ogre::SceneManager::createEntity ( PrefabType  ptype,
SceneMemoryMgrTypes  sceneType = SCENE_DYNAMIC 
)
virtualinherited

Create an Entity (instance of a discrete mesh) from a range of prefab shapes.

Parameters
ptypeThe prefab type.
virtual InstancedEntity* Ogre::SceneManager::createInstancedEntity ( const String materialName,
const String managerName 
)
virtualinherited

Creates an InstancedEntity based on an existing InstanceManager (.

See also
createInstanceManager)
Remarks
Return value may be null if the InstanceManger technique isn't supported Try to keep the number of entities with different materials to a minimum For more information
See also
InstancedManager
InstancedBatch,
InstancedEntity Alternatively you can call InstancedManager::createInstanceEntity using the returned pointer from createInstanceManager
Parameters
materialNameMaterial name
managerNameName of the instance manager
Returns
An InstancedEntity ready to be attached to a SceneNode
virtual InstanceManager* Ogre::SceneManager::createInstanceManager ( const String customName,
const String meshName,
const String groupName,
InstanceManager::InstancingTechnique  technique,
size_t  numInstancesPerBatch,
uint16  flags = 0,
unsigned short  subMeshIdx = 0 
)
virtualinherited

Creates an InstanceManager interface to create & manipulate instanced entities You need to call this function at least once before start calling createInstancedEntity to build up an instance based on the given mesh.

Remarks
Instancing is a way of batching up geometry into a much more efficient form, but with some limitations, and still be able to move & animate it. Please
See also
InstanceManager class documentation for full information.
Parameters
customNameCustom name for referencing. Must be unique
meshNameThe mesh name the instances will be based upon
groupNameThe resource name where the mesh lives
techniqueTechnique to use, which may be shader based, or hardware based.
numInstancesPerBatchSuggested number of instances per batch. The actual number may end up being lower if the technique doesn't support having so many. It can't be zero
flags
See also
InstanceManagerFlags
Parameters
subMeshIdxInstanceManager only supports using one submesh from the base mesh. This parameter says which submesh to pick (must be <= Mesh::getNumSubMeshes())
Returns
The new InstanceManager instance
IntersectionSceneQuery* Ogre::PCZSceneManager::createIntersectionQuery ( uint32  mask = 0xFFFFFFFF)
virtual

Creates an IntersectionSceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for locating intersecting objects. See SceneQuery and IntersectionSceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

virtual Light* Ogre::PCZSceneManager::createLight ( const String name)
virtual

Creates a light for use in the scene.

Remarks
Lights can either be in a fixed position and independent of the scene graph, or they can be attached to SceneNodes so they derive their position from the parent node. Either way, they are created using this method so that the SceneManager manages their existence.
Parameters
nameThe name of the new light, to identify it later.
virtual Light* Ogre::SceneManager::createLight ( )
virtualinherited

Creates a light for use in the scene.

Remarks
Lights can either be in a fixed position and independent of the scene graph, or they can be attached to SceneNodes so they derive their position from the parent node. Either way, they are created using this method so that the SceneManager manages their existence.
Parameters
nameThe name of the new light, to identify it later.
virtual ManualObject* Ogre::SceneManager::createManualObject ( SceneMemoryMgrTypes  sceneType = SCENE_DYNAMIC)
virtualinherited

Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface.

virtual MovableObject* Ogre::SceneManager::createMovableObject ( const String typeName,
ObjectMemoryManager objectMemMgr,
const NameValuePairList params = 0 
)
virtualinherited

Create a movable object of the type specified without a name.

Remarks
This is the generalised form of MovableObject creation where you can create a MovableObject of any specialised type generically, including any new types registered using plugins. The name is generated automatically.
Parameters
typeNameThe type of object to create
objectMemMgrMemory Manager that will hold ObjectData data.
paramsOptional name/value pair list to give extra parameters to the created object.
virtual ParticleSystem* Ogre::SceneManager::createParticleSystem ( const String templateName)
virtualinherited

Creates a particle system based on a template.

Remarks
This method creates a new ParticleSystem instance based on the named template (defined through ParticleSystemManager::createTemplate) and returns a pointer to the caller. The caller should not delete this object, it will be freed at system shutdown, or can be released earlier using the destroyParticleSystem method.
Each system created from a template takes the template's settings at the time of creation, but is completely separate from the template from there on.
Creating a particle system does not make it a part of the scene. As with other MovableObject subclasses, a ParticleSystem is not rendered until it is attached to a SceneNode.
This is probably the more useful particle system creation method since it does not require manual setup of the system. Note that the initial quota is based on the template but may be changed later.
Parameters
templateNameThe name of the template to base the new instance on.
virtual ParticleSystem* Ogre::SceneManager::createParticleSystem ( size_t  quota = 500,
const String resourceGroup = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)
virtualinherited

Create a blank particle system.

Remarks
This method creates a new, blank ParticleSystem instance and returns a pointer to it. The caller should not delete this object, it will be freed at system shutdown, or can be released earlier using the destroyParticleSystem method.
The instance returned from this method won't actually do anything because on creation a particle system has no emitters. The caller should manipulate the instance through it's ParticleSystem methods to actually create a real particle effect.
Creating a particle system does not make it a part of the scene. As with other MovableObject subclasses, a ParticleSystem is not rendered until it is attached to a SceneNode.
Parameters
quotaThe maximum number of particles to allow in this system.
resourceGroupThe resource group which will be used to load dependent resources
PlaneBoundedVolumeListSceneQuery* Ogre::PCZSceneManager::createPlaneBoundedVolumeQuery ( const PlaneBoundedVolumeList volumes,
uint32  mask = 0xFFFFFFFF 
)
virtual

Creates a PlaneBoundedVolumeListSceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for this scene manager, for a region enclosed by a set of planes (normals pointing inwards). See SceneQuery and PlaneBoundedVolumeListSceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
volumesDetails of the volumes which describe the region for this query.
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

Portal* Ogre::PCZSceneManager::createPortal ( const String name,
PortalBase::PORTAL_TYPE  type = PortalBase::PORTAL_TYPE_QUAD 
)

Create a new portal instance.

RaySceneQuery* Ogre::PCZSceneManager::createRayQuery ( const Ray ray,
uint32  mask = 0xFFFFFFFF 
)
virtual

Creates a RaySceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for this scene manager, looking for objects which fall along a ray. See SceneQuery and RaySceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
rayDetails of the ray which describes the region for this query.
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

virtual RibbonTrail* Ogre::SceneManager::createRibbonTrail ( )
virtualinherited

Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes.

virtual SceneNode* Ogre::PCZSceneManager::createSceneNode ( void  )
virtual

Creates a PCZSceneNode.

virtual SceneNode* Ogre::PCZSceneManager::createSceneNode ( const String name)
virtual

Creates a PCZSceneNode.

virtual SceneNode* Ogre::SceneManager::createSceneNode ( SceneMemoryMgrTypes  sceneType = SCENE_DYNAMIC)
virtualinherited

Creates an instance of a SceneNode.

Remarks
Note that this does not add the SceneNode to the scene hierarchy. This method is for convenience, since it allows an instance to be created for which the SceneManager is responsible for allocating and releasing memory, which is convenient in complex scenes.
To include the returned SceneNode in the scene, use the addChild method of the SceneNode which is to be it's parent.
Note that this method takes no parameters, and the node created is unnamed (it is actually given a generated name, which you can retrieve if you want). If you wish to create a node with a specific name, call the alternative method which takes a name parameter. sceneType Dynamic if this node is to be updated frequently. Static if you don't plan to be updating this node in a long time (performance optimization).
virtual SceneNode* Ogre::PCZSceneManager::createSceneNodeImpl ( void  )
virtual

override this to ensure specialised PCZSceneNode is used.

virtual SceneNode* Ogre::PCZSceneManager::createSceneNodeImpl ( const String name)
virtual

override this to ensure their specialised PCZSceneNode is used.

virtual SceneNode* Ogre::SceneManager::createSceneNodeImpl ( SceneNode parent,
SceneMemoryMgrTypes  sceneType 
)
protectedvirtualinherited

Subclasses can override this to ensure their specialised SceneNode is used.

SkeletonInstance* Ogre::SceneManager::createSkeletonInstance ( const SkeletonDef skeletonDef)
inherited

Creates an instance of a skeleton based on the given definition.

virtual MeshPtr Ogre::SceneManager::createSkyboxPlane ( BoxPlane  bp,
Real  distance,
const Quaternion orientation,
const String groupName 
)
protectedvirtualinherited
virtual MeshPtr Ogre::SceneManager::createSkydomePlane ( BoxPlane  bp,
Real  curvature,
Real  tiling,
Real  distance,
const Quaternion orientation,
int  xsegments,
int  ysegments,
int  ySegmentsToKeep,
const String groupName 
)
protectedvirtualinherited
SphereSceneQuery* Ogre::PCZSceneManager::createSphereQuery ( const Sphere sphere,
uint32  mask = 0xFFFFFFFF 
)
virtual

Creates a SphereSceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for this scene manager, for a spherical region. See SceneQuery and SphereSceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
sphereDetails of the sphere which describes the region for this query.
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

virtual StaticGeometry* Ogre::SceneManager::createStaticGeometry ( const String name)
virtualinherited

Creates a StaticGeometry instance suitable for use with this SceneManager.

Remarks
StaticGeometry is a way of batching up geometry into a more efficient form at the expense of being able to move it. Please read the StaticGeometry class documentation for full information.
Parameters
nameThe name to give the new object
Returns
The new StaticGeometry instance
PCZone* Ogre::PCZSceneManager::createZone ( const String zoneType,
const String instanceName 
)

Create a zone with the given name.

PCZone* Ogre::PCZSceneManager::createZoneFromFile ( const String zoneTypeName,
const String zoneName,
PCZSceneNode parentNode,
const String filename 
)

Create a zone from a file (type of file depends on the zone type.

void Ogre::PCZSceneManager::createZoneSpecificNodeData ( PCZSceneNode )

Create any zone-specific data necessary for all zones for the given node.

void Ogre::PCZSceneManager::createZoneSpecificNodeData ( PCZone )

Create any zone-specific data necessary for all nodes for the given zone.

void Ogre::SceneManager::cullFrustum ( const CullFrustumRequest request,
size_t  threadIdx 
)
protectedinherited

Low level culling, culls all objects against the given frustum active cameras.

This includes checking visibility flags (both scene and viewport's) MovableObject::cullFrustum

Parameters
requestFully setup request. CullFrustumRequest.
threadIdxIndex to mVisibleObjects so we know which array we should start at. Must be unique for each worker thread
virtual_l2 const Pass* Ogre::SceneManager::deriveShadowCasterPass ( const Pass pass)
protectedinherited

Internal method for turning a regular pass into a shadow caster pass.

Remarks
This is only used for texture shadows, basically we're trying to ensure that objects are rendered solid black. This method will usually return the standard solid black pass for all fixed function passes, but will merge in a vertex program and fudge the AutoParamDataSource to set black lighting for passes with vertex programs.
virtual void Ogre::SceneManager::destroyAllAnimations ( void  )
virtualinherited

Removes all animations created using this SceneManager.

virtual void Ogre::SceneManager::destroyAllAnimationStates ( void  )
virtualinherited

Removes all animation states created using this SceneManager.

virtual void Ogre::SceneManager::destroyAllBillboardChains ( void  )
virtualinherited

Removes & destroys all BillboardChains from the SceneManager.

virtual void Ogre::SceneManager::destroyAllBillboardSets ( void  )
virtualinherited

Removes & destroys all BillboardSets.

Warning
Again, use caution since no BillboardSet must be referred to elsewhere e.g. attached to a SceneNode otherwise a crash is likely. Use clearScene if you are unsure (it clears SceneNode entries too.)
See also
SceneManager::clearScene
virtual void Ogre::SceneManager::destroyAllCameras ( void  )
virtualinherited

Removes (and destroys) all cameras from the scene.

Remarks
Some cameras are internal created to dealing with texture shadow, or compositor nodes. They aren't supposed to be destroyed outside. So, while you are using texture shadow, don't call this method.
virtual void Ogre::SceneManager::destroyAllEntities ( void  )
virtualinherited

Removes & destroys all Entities.

Warning
Again, use caution since no Entity must be referred to elsewhere e.g. attached to a SceneNode otherwise a crash is likely. Use clearScene if you are unsure (it clears SceneNode entries too.)
See also
SceneManager::clearScene
virtual void Ogre::SceneManager::destroyAllInstanceManagers ( void  )
virtualinherited
virtual void Ogre::PCZSceneManager::destroyAllLights ( void  )
virtual

Removes and destroys all lights in the scene.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::SceneManager::destroyAllManualObjects ( void  )
virtualinherited

Removes & destroys all ManualObjects from the SceneManager.

virtual void Ogre::SceneManager::destroyAllMovableObjects ( void  )
virtualinherited

Destroy all MovableObjects.

virtual void Ogre::SceneManager::destroyAllMovableObjectsByType ( const String typeName)
virtualinherited

Destroy all MovableObjects of a given type.

virtual void Ogre::SceneManager::destroyAllParticleSystems ( void  )
virtualinherited

Removes & destroys all ParticleSystems from the SceneManager.

virtual void Ogre::SceneManager::destroyAllRibbonTrails ( void  )
virtualinherited

Removes & destroys all RibbonTrails from the SceneManager.

virtual void Ogre::SceneManager::destroyAllStaticGeometry ( void  )
virtualinherited

Remove & destroy all StaticGeometry instances.

virtual void Ogre::SceneManager::destroyAnimation ( const String name)
virtualinherited

Destroys an Animation.

Remarks
You should ensure that none of your code is referencing this animation objects since the memory will be freed.
virtual void Ogre::SceneManager::destroyAnimationState ( const String name)
virtualinherited

Destroys an AnimationState.

Remarks
You should ensure that none of your code is referencing this animation state object since the memory will be freed.
void Ogre::PCZSceneManager::destroyAntiPortal ( AntiPortal p)

Delete a anti portal instance by pointer.

void Ogre::PCZSceneManager::destroyAntiPortal ( const String portalName)

Delete a anti portal instance by name.

virtual void Ogre::SceneManager::destroyBillboardChain ( BillboardChain obj)
virtualinherited

Removes & destroys a BillboardChain from the SceneManager.

virtual void Ogre::SceneManager::destroyBillboardSet ( BillboardSet set)
virtualinherited

Removes & destroys an BillboardSet from the SceneManager.

Warning
Must only be done if the BillboardSet is not attached to a SceneNode. It may be safer to wait to clear the whole scene. If you are unsure, use clearScene.
virtual void Ogre::SceneManager::destroyCamera ( Camera cam)
virtualinherited

Removes a camera from the scene.

Remarks
This method removes a previously added camera from the scene. The camera is deleted so the caller must ensure no references to it's previous instance (e.g. in a SceneNode) are used.
Parameters
camPointer to the camera to remove
virtual void Ogre::SceneManager::destroyEntity ( Entity ent)
virtualinherited

Removes & destroys an Entity from the SceneManager.

Warning
Must only be done if the Entity is not attached to a SceneNode. It may be safer to wait to clear the whole scene if you are unsure use clearScene.
See also
SceneManager::clearScene
virtual void Ogre::SceneManager::destroyInstancedEntity ( InstancedEntity instancedEntity)
virtualinherited

Removes an InstancedEntity,.

See also
SceneManager::createInstancedEntity &
InstanceBatch::removeInstancedEntity
Parameters
instancedEntityInstance to remove
virtual void Ogre::SceneManager::destroyInstanceManager ( IdString  name)
virtualinherited

Destroys an InstanceManager if it was created with createInstanceManager()

Remarks
Be sure you don't have any InstancedEntity referenced somewhere which was created with this manager, since it will become a dangling pointer.
Parameters
nameName of the manager to remove
virtual void Ogre::SceneManager::destroyInstanceManager ( InstanceManager instanceManager)
virtualinherited
virtual void Ogre::PCZSceneManager::destroyLight ( const String name)
virtual

Removes the named light from the scene and destroys it.

Remarks
Any pointers held to this light after calling this method will be invalid.
virtual void Ogre::SceneManager::destroyLight ( Light light)
virtualinherited

Removes the light from the scene and destroys it based on a pointer.

Remarks
Any pointers held to this light after calling this method will be invalid.
virtual void Ogre::SceneManager::destroyManualObject ( ManualObject obj)
virtualinherited

Removes & destroys a ManualObject from the SceneManager.

virtual void Ogre::SceneManager::destroyMovableObject ( MovableObject m,
const String typeName 
)
virtualinherited

Destroys a MovableObject with the name specified, of the type specified.

Remarks
The MovableObject will automatically detach itself from any nodes on destruction.
virtual void Ogre::SceneManager::destroyMovableObject ( MovableObject m)
virtualinherited

Destroys a MovableObject.

Remarks
The MovableObject will automatically detach itself from any nodes on destruction.
virtual void Ogre::SceneManager::destroyParticleSystem ( ParticleSystem obj)
virtualinherited

Removes & destroys a ParticleSystem from the SceneManager.

void Ogre::PCZSceneManager::destroyPortal ( Portal p)

Delete a portal instance by pointer.

void Ogre::PCZSceneManager::destroyPortal ( const String portalName)

Delete a portal instance by name.

virtual void Ogre::SceneManager::destroyQuery ( SceneQuery query)
virtualinherited

Destroys a scene query of any type.

virtual void Ogre::SceneManager::destroyRibbonTrail ( RibbonTrail obj)
virtualinherited

Removes & destroys a RibbonTrail from the SceneManager.

virtual void Ogre::PCZSceneManager::destroySceneNode ( const String name)
virtual

Deletes a scene node by name & corresponding PCZSceneNode.

virtual void Ogre::PCZSceneManager::destroySceneNode ( SceneNode sn)
virtual

Deletes a scene node & corresponding PCZSceneNode.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::PCZSceneManager::destroyShadowTextures ( void  )
protectedvirtual

Internal method for destroying shadow textures (texture-based shadows)

void Ogre::SceneManager::destroySkeletonInstance ( SkeletonInstance skeletonInstance)
inherited

Destroys an instance of a skeleton created with .

virtual void Ogre::SceneManager::destroyStaticGeometry ( StaticGeometry geom)
virtualinherited

Remove & destroy a StaticGeometry instance.

virtual void Ogre::SceneManager::destroyStaticGeometry ( const String name)
virtualinherited

Remove & destroy a StaticGeometry instance.

void Ogre::PCZSceneManager::destroyZone ( PCZone zone,
bool  destroySceneNodes 
)

Destroy an existing zone within the scene.

void Ogre::PCZSceneManager::enableSky ( bool  )

Enable/disable sky rendering.

virtual void Ogre::PCZSceneManager::ensureShadowTexturesCreated ( )
protectedvirtual

Internal method for creating shadow textures (texture-based shadows)

virtual size_t Ogre::SceneManager::estimateWorldGeometry ( const String filename)
inlinevirtualinherited

Estimate the number of loading stages required to load the named world geometry.

Remarks
This method should be overridden by SceneManagers that provide custom world geometry that can take some time to load. They should return from this method a count of the number of stages of progress they can report on whilst loading. During real loading (setWorldGeometry), they should call ResourceGroupManager::_notifyWorldGeometryProgress exactly that number of times when loading the geometry for real.
Note
The default is to return 0, ie to not report progress.

Reimplemented in Ogre::BspSceneManager.

Definition at line 1582 of file OgreSceneManager.h.

virtual size_t Ogre::SceneManager::estimateWorldGeometry ( DataStreamPtr stream,
const String typeName = BLANKSTRING 
)
inlinevirtualinherited

Estimate the number of loading stages required to load the named world geometry.

Remarks
Operates just like the version of this method which takes a filename, but operates on a stream instead. Note that since the stream is updated, you'll need to reset the stream or reopen it when it comes to loading it for real.
Parameters
streamData stream containing data to load
typeNameString identifying the type of world geometry contained in the stream - not required if this manager only supports one type of world geometry.

Reimplemented in Ogre::BspSceneManager.

Definition at line 1597 of file OgreSceneManager.h.

void Ogre::SceneManager::executeUserScalableTask ( UniformScalableTask task,
bool  bBlock 
)
inherited

Processes a user-defined UniformScalableTask in the worker threads spawned by SceneManager.

Remarks
If 'bBlock' is false, it is user responsibility to call waitForPendingUserScalableTask before the next call to either processUserScalableTask or renderOneFrame.
Parameters
taskTask to perform. Pointer must be valid at least until the task is finished
bBlockTrue if you want the function to block until the task is done. False if you want to do something in between, in this case you MUST call waitForPendingUserScalableTask later.
virtual void Ogre::SceneManager::extractAllMovableObjectsByType ( const String typeName)
virtualinherited

Extract all injected MovableObjects of a given type.

Remarks
Essentially this does the same as destroyAllMovableObjectsByType, but only removes the instances from the internal lists, it does not attempt to destroy them.
virtual void Ogre::SceneManager::extractMovableObject ( MovableObject m)
virtualinherited

Extract a previously injected MovableObject.

Remarks
Essentially this does the same as destroyMovableObject, but only removes the instance from the internal lists, it does not attempt to destroy it.
virtual Camera* Ogre::SceneManager::findCamera ( IdString  name) const
virtualinherited

Finds the camera with the given name.

Throws if not found.

Parameters
nameHash of the name of the camera to find
Returns
Camera pointer
virtual Camera* Ogre::SceneManager::findCameraNoThrow ( IdString  name) const
virtualinherited

Finds the camera with the given name.

Returns null pointer if not found.

Parameters
nameHash of the name of the camera to find
Returns
Camera pointer. Null if not found.
virtual void Ogre::PCZSceneManager::findLightsAffectingFrustum ( const Camera camera)
protectedvirtual

Internal method for locating a list of lights which could be affecting the frustum.

Remarks
Custom scene managers are encouraged to override this method to make use of their scene partitioning scheme to more efficiently locate lights, and to eliminate lights which may be occluded by word geometry.
void Ogre::PCZSceneManager::findNodesIn ( const AxisAlignedBox box,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode exclude = 0 
)

Recurses the scene, adding any nodes intersecting with the box into the given list.

It ignores the exclude scene node.

void Ogre::PCZSceneManager::findNodesIn ( const Sphere sphere,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode start = 0 
)

Recurses the scene, adding any nodes intersecting with the sphere into the given list.

It will start in the start SceneNode if given, otherwise, it will start at the root node.

void Ogre::PCZSceneManager::findNodesIn ( const PlaneBoundedVolume volume,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode start = 0 
)

Recurses the PCZTree, adding any nodes intersecting with the volume into the given list.

It will start in the start SceneNode if given, otherwise, it will start at the root node.

void Ogre::PCZSceneManager::findNodesIn ( const Ray ray,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode start = 0 
)

Recurses the scene, starting in the given startZone, adding any nodes intersecting with the ray into the given list.

It will start in the start SceneNode if given, otherwise, it will start at the root node.

PCZone* Ogre::PCZSceneManager::findZoneForPoint ( Vector3 point)

Find the smallest zone which contains the point.

void Ogre::SceneManager::fireCullFrustumInstanceBatchThreads ( const InstanceBatchCullRequest request)
protectedinherited
void Ogre::SceneManager::fireCullFrustumThreads ( const CullFrustumRequest request)
protectedinherited

Launches cullFrustum on all worker threads with the requested parameters.

Remarks
Will block until all threads are done.
virtual void Ogre::SceneManager::firePostFindVisibleObjects ( Viewport v)
protectedvirtualinherited

Internal method for firing find visible objects event.

virtual void Ogre::SceneManager::firePostRenderQueues ( )
protectedvirtualinherited

Internal method for firing the queue end event.

virtual void Ogre::SceneManager::firePreFindVisibleObjects ( Viewport v)
protectedvirtualinherited

Internal method for firing find visible objects event.

virtual void Ogre::SceneManager::firePreRenderQueues ( )
protectedvirtualinherited

Internal method for firing the queue start event.

virtual bool Ogre::SceneManager::fireRenderQueueEnded ( uint8  id,
const String invocation 
)
protectedvirtualinherited

Internal method for firing the queue end event, returns true if queue is to be repeated.

Reimplemented in Ogre::BspSceneManager.

virtual bool Ogre::SceneManager::fireRenderQueueStarted ( uint8  id,
const String invocation 
)
protectedvirtualinherited

Internal method for firing the queue start event, returns true if queue is to be skipped.

virtual void Ogre::SceneManager::fireRenderSingleObject ( Renderable rend,
const Pass pass,
const AutoParamDataSource source,
const LightList pLightList,
bool  suppressRenderStateChanges 
)
protectedvirtualinherited

Internal method for firing when rendering a single object.

virtual void Ogre::SceneManager::fireSceneManagerDestroyed ( )
protectedvirtualinherited

Internal method for firing destruction event.

virtual void Ogre::PCZSceneManager::fireShadowTexturesPreCaster ( Light light,
Camera camera,
size_t  iteration 
)
protectedvirtual

Internal method for firing the pre caster texture shadows event.

virtual void Ogre::SceneManager::fireShadowTexturesPreCaster ( const Light light,
Camera camera,
size_t  iteration 
)
protectedvirtualinherited

Internal method for firing the pre caster texture shadows event.

virtual void Ogre::SceneManager::fireShadowTexturesUpdated ( size_t  numberOfShadowTextures)
protectedvirtualinherited

Internal method for firing the texture shadows updated event.

const ColourValue& Ogre::SceneManager::getAmbientLight ( void  ) const
inherited

Returns the ambient light level to be used for the scene.

virtual Animation* Ogre::SceneManager::getAnimation ( const String name) const
virtualinherited

Looks up an Animation object previously created with createAnimation.

Note
Throws an exception if the named instance does not exist
AnimationIterator Ogre::SceneManager::getAnimationIterator ( void  )
inlineinherited

Returns a specialised MapIterator over all animations in the scene.

Definition at line 2582 of file OgreSceneManager.h.

const AnimationList& Ogre::SceneManager::getAnimations ( ) const
inlineinherited

Returns a const version of the animation list.

Definition at line 2587 of file OgreSceneManager.h.

virtual AnimationState* Ogre::SceneManager::getAnimationState ( const String animName) const
virtualinherited

Retrieves animation state as previously created using createAnimationState.

Note
Throws an exception if the named instance does not exist
AnimationStateIterator Ogre::SceneManager::getAnimationStateIterator ( void  )
inlineinherited

Returns a specialised MapIterator over all animation states in the scene.

Definition at line 2589 of file OgreSceneManager.h.

Camera* Ogre::SceneManager::getCameraInProgress ( void  ) const
inlineinherited

Gets the current camera being rendered (advanced use only, only valid during viewport update.

Definition at line 3085 of file OgreSceneManager.h.

CameraIterator Ogre::SceneManager::getCameraIterator ( void  )
inlineinherited

Returns a specialised MapIterator over all cameras in the scene.

Definition at line 2575 of file OgreSceneManager.h.

const CameraList& Ogre::SceneManager::getCameras ( ) const
inlineinherited

Returns a const version of the camera list.

Definition at line 2580 of file OgreSceneManager.h.

const AxisAlignedBox& Ogre::SceneManager::getCurrentCastersBox ( void  ) const
inherited

CompositorShadowNode::getCastersBox

Remarks
Returns a null box if no active shadow node.
Viewport* Ogre::SceneManager::getCurrentViewport ( void  ) const
inlineinherited

Gets the current viewport being rendered (advanced use only, only valid during viewport update.

Definition at line 3081 of file OgreSceneManager.h.

PCZone* Ogre::PCZSceneManager::getDefaultZone ( void  )
inline

Get the default zone.

Definition at line 279 of file OgrePCZSceneManager.h.

RenderSystem* Ogre::SceneManager::getDestinationRenderSystem ( )
inherited

Get the rendersystem subclass to which the output of this Scene Manager gets sent.

virtual bool Ogre::SceneManager::getDisplaySceneNodes ( void  ) const
inlinevirtualinherited

Returns true if all scene nodes axis are to be displayed.

Definition at line 2252 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::getFindVisibleObjects ( void  )
inlinevirtualinherited

Gets whether the SceneManager should search for visible objects, or whether they are being manually handled.

Definition at line 2953 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::getFlipCullingOnNegativeScale ( ) const
inlinevirtualinherited

Get whether to automatically flip the culling mode on objects whenever they are negatively scaled.

Definition at line 2983 of file OgreSceneManager.h.

virtual const ColourValue& Ogre::SceneManager::getFogColour ( void  ) const
virtualinherited

Returns the fog colour for the scene.

virtual Real Ogre::SceneManager::getFogDensity ( void  ) const
virtualinherited

Returns the fog density for the scene.

virtual Real Ogre::SceneManager::getFogEnd ( void  ) const
virtualinherited

Returns the fog end distance for the scene.

virtual FogMode Ogre::SceneManager::getFogMode ( void  ) const
virtualinherited

Returns the fog mode for the scene.

virtual Real Ogre::SceneManager::getFogStart ( void  ) const
virtualinherited

Returns the fog start distance for the scene.

const LightListInfo& Ogre::SceneManager::getGlobalLightList ( void  ) const
inlineinherited

Definition at line 1224 of file OgreSceneManager.h.

virtual InstanceManager* Ogre::SceneManager::getInstanceManager ( IdString  name) const
virtualinherited

Retrieves an existing InstanceManager by it's name.

Note
Throws an exception if the named InstanceManager does not exist
InstancingTheadedCullingMethod Ogre::SceneManager::getInstancingThreadedCullingMethod ( ) const
inlineinherited

Definition at line 1690 of file OgreSceneManager.h.

virtual Light* Ogre::PCZSceneManager::getLight ( const String name) const
virtual

Returns a pointer to the named Light which has previously been added to the scene.

Note
Throws an exception if the named instance does not exist
virtual const PlaneList& Ogre::SceneManager::getLightClippingPlanes ( const Light l)
virtualinherited

Retrieve a set of clipping planes for a given light.

virtual const RealRect& Ogre::SceneManager::getLightScissorRect ( const Light l,
const Camera cam 
)
virtualinherited

Retrieve a scissor rectangle for a given light and camera.

void Ogre::SceneManager::getMinMaxDepthRange ( const Frustum shadowMapCamera,
Real outMin,
Real outMax 
) const
inherited

CompositorShadowNode::getMinMaxDepthRange

Remarks
Outputs 0 & 100000 if no active shadow node or camera not found.
MovableObjectCollection* Ogre::SceneManager::getMovableObjectCollection ( const String typeName)
protectedinherited

Gets the movable object collection for the given type name.

Remarks
This method create new collection if the collection does not exist.
const MovableObjectCollection* Ogre::SceneManager::getMovableObjectCollection ( const String typeName) const
protectedinherited

Gets the movable object collection for the given type name.

Remarks
This method throw exception if the collection does not exist.
virtual MovableObjectIterator Ogre::SceneManager::getMovableObjectIterator ( const String typeName)
virtualinherited

Get an iterator over all MovableObect instances of a given type.

Note
The iterator returned from this method is not thread safe, do not use this if you are creating or deleting objects of this type in another thread.
const String& Ogre::SceneManager::getName ( void  ) const
inlineinherited

Return the instance name of this SceneManager.

Definition at line 1147 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::getNormaliseNormalsOnScale ( ) const
inlinevirtualinherited

Get whether to automatically normalise normals on objects whenever they are scaled.

Definition at line 2968 of file OgreSceneManager.h.

size_t Ogre::SceneManager::getNumCompositorTextures ( void  ) const
inlineinherited

Gets the number of currently active compositor textures.

Definition at line 1389 of file OgreSceneManager.h.

virtual size_t Ogre::SceneManager::getNumInstancesPerBatch ( const String meshName,
const String groupName,
const String materialName,
InstanceManager::InstancingTechnique  technique,
size_t  numInstancesPerBatch,
uint16  flags = 0,
unsigned short  subMeshIdx = 0 
)
virtualinherited
See also
InstanceManager::getMaxOrBestNumInstancesPerBatch
Remarks
If you've already created an InstanceManager, you can call it's getMaxOrBestNumInstancesPerBatch() function directly. Another (not recommended) way to know if the technique is unsupported is by creating an InstanceManager and use createInstancedEntity, which will return null pointer. The input parameter "numInstancesPerBatch" is a suggested value when using IM_VTFBESTFIT flag (in that case it should be non-zero)
Returns
The ideal (or maximum, depending on flags) number of instances per batch for the given technique. Zero if technique is unsupported or errors were spotted
size_t Ogre::SceneManager::getNumWorkerThreads ( ) const
inlineinherited

Definition at line 1157 of file OgreSceneManager.h.

virtual bool Ogre::PCZSceneManager::getOption ( const String ,
void *   
)
virtual

Gets the given option for the Scene Manager.

Remarks
See setOption

Reimplemented from Ogre::SceneManager.

bool Ogre::PCZSceneManager::getOptionKeys ( StringVector refKeys)
virtual

Method for getting all the implementation-specific options of the scene manager.

Parameters
refKeysA reference to a list that will be filled with all the available options.
Returns
On success, true is returned. On failure, false is returned.

Reimplemented from Ogre::SceneManager.

bool Ogre::PCZSceneManager::getOptionValues ( const String strKey,
StringVector refValueList 
)
virtual

Method for getting all possible values for a specific option.

When this list is too large (i.e. the option expects, for example, a float), the return value will be true, but the list will contain just one element whose size will be set to 0. Otherwise, the list will be filled with all the possible values the option can accept.

Parameters
strKeyThe name of the option to get the values for.
refValueListA reference to a list that will be filled with the available values.
Returns
On success (the option exists), true is returned.
On failure, false is returned.

Reimplemented from Ogre::SceneManager.

SceneMgrQueuedRenderableVisitor* Ogre::SceneManager::getQueuedRenderableVisitor ( void  ) const
inherited

Gets the current visitor object which processes queued renderables.

Vector3 Ogre::SceneManager::getRelativeOrigin ( void  ) const
inherited

Returns the current relative origin. (Only when non-permanent)

virtual RenderQueue* Ogre::SceneManager::getRenderQueue ( void  )
virtualinherited

Retrieves the internal render queue, for advanced users only.

Remarks
The render queue is mainly used internally to manage the scene object rendering queue, it also exports some methods to allow advanced users to configure the behavior of rendering process. Most methods provided by RenderQueue are supposed to be used internally only, you should reference to the RenderQueue API for more information. Do not access this directly unless you know what you are doing.
SceneNode* Ogre::SceneManager::getRootSceneNode ( SceneMemoryMgrTypes  sceneType = SCENE_DYNAMIC)
inherited

Gets the SceneNode at the root of the scene hierarchy.

Remarks
The entire scene is held as a hierarchy of nodes, which allows things like relative transforms, general changes in rendering state etc (See the SceneNode class for more info). In this basic SceneManager class, the application using Ogre is free to structure this hierarchy however it likes, since it has no real significance apart from making transforms relative to each node (more specialised subclasses will provide utility methods for building specific node structures e.g. loading a BSP tree).
However, in all cases there is only ever one root node of the hierarchy, and this method returns a pointer to it. There is actually an extra Root Node so that static objects can be attached to it. Note however, static nodes can be children of a dynamic root node.
virtual_l1 SceneNode* Ogre::SceneManager::getSceneNode ( IdType  id)
inherited

Retrieves a SceneNode based on it's ID from the scene graph.

Remarks
Note
Returns null if the ID does not exist
It is a linear search O(N), retrieves the first node found with that name (it's not unique)
virtual_l1 const SceneNode* Ogre::SceneManager::getSceneNode ( IdType  id) const
inherited
virtual bool Ogre::SceneManager::getShadowCasterRenderBackFaces ( ) const
inlinevirtualinherited

Gets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces.

Definition at line 2722 of file OgreSceneManager.h.

virtual const ColourValue& Ogre::SceneManager::getShadowColour ( void  ) const
virtualinherited

Get the colour used to modulate areas in shadow.

Remarks
This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas.
virtual Real Ogre::SceneManager::getShadowDirectionalLightExtrusionDistance ( void  ) const
virtualinherited

Gets the distance a shadow volume is extruded for a directional light.

virtual Real Ogre::SceneManager::getShadowDirLightTextureOffset ( void  ) const
inlinevirtualinherited

Gets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space.

Definition at line 2665 of file OgreSceneManager.h.

virtual Real Ogre::SceneManager::getShadowFarDistance ( void  ) const
inlinevirtualinherited

Gets the default maximum distance away from the camera that shadows will be visible.

Definition at line 2642 of file OgreSceneManager.h.

virtual Real Ogre::SceneManager::getShadowFarDistanceSquared ( void  ) const
inlinevirtualinherited

Definition at line 2644 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::getShowBoundingBoxes ( ) const
virtualinherited

Returns if all bounding boxes of scene nodes are to be displayed.

virtual const SkyBoxGenParameters& Ogre::SceneManager::getSkyBoxGenParameters ( void  ) const
inlinevirtualinherited

Get the parameters used to generate the current SkyBox, if any.

Definition at line 2029 of file OgreSceneManager.h.

virtual SceneNode* Ogre::SceneManager::getSkyBoxNode ( void  ) const
inlinevirtualinherited

Get the skybox node, if enabled.

Definition at line 2026 of file OgreSceneManager.h.

virtual const SkyDomeGenParameters& Ogre::SceneManager::getSkyDomeGenParameters ( void  ) const
inlinevirtualinherited

Get the parameters used to generate the current SkyDome, if any.

Definition at line 2156 of file OgreSceneManager.h.

virtual SceneNode* Ogre::SceneManager::getSkyDomeNode ( void  ) const
inlinevirtualinherited

Get the sky dome node, if enabled.

Definition at line 2153 of file OgreSceneManager.h.

virtual const SkyPlaneGenParameters& Ogre::SceneManager::getSkyPlaneGenParameters ( void  ) const
inlinevirtualinherited

Get the parameters used to construct the SkyPlane, if any.

Definition at line 1934 of file OgreSceneManager.h.

virtual SceneNode* Ogre::SceneManager::getSkyPlaneNode ( void  ) const
inlinevirtualinherited

Get the sky plane node, if enabled.

Definition at line 1931 of file OgreSceneManager.h.

virtual SpecialCaseRenderQueueMode Ogre::SceneManager::getSpecialCaseRenderQueueMode ( void  )
virtualinherited

Gets the way the special case render queue list is processed.

virtual StaticGeometry* Ogre::SceneManager::getStaticGeometry ( const String name) const
virtualinherited

Retrieve a previously created StaticGeometry instance.

Note
Throws an exception if the named instance does not exist
virtual ViewPoint Ogre::SceneManager::getSuggestedViewpoint ( bool  random = false)
virtualinherited

Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed.

Remarks
Typically this method returns the origin unless a) world geometry has been loaded using SceneManager::setWorldGeometry and b) that world geometry has suggested 'start' points. If there is more than one viewpoint which the scene manager can suggest, it will always suggest the first one unless the random parameter is true.
Parameters
randomIf true, and there is more than one possible suggestion, a random one will be used. If false the same one will always be suggested.
Returns
On success, true is returned.
On failure, false is returned.

Reimplemented in Ogre::BspSceneManager.

const String& Ogre::PCZSceneManager::getTypeName ( void  ) const
virtual

Retrieve the type name of this scene manager.

Remarks
This method has to be implemented by subclasses. It should return the type name of this SceneManager which agrees with the type name of the SceneManagerFactory which created it.

Implements Ogre::SceneManager.

virtual_l2 uint32 Ogre::SceneManager::getVisibilityMask ( void  ) const
inlineinherited

Gets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible.

Definition at line 2935 of file OgreSceneManager.h.

virtual uint8 Ogre::SceneManager::getWorldGeometryRenderQueue ( void  )
virtualinherited

Gets the render queue that the world geometry (if any) this SceneManager renders will be associated with.

Remarks
SceneManagers which provide 'world geometry' should place it in a specialised render queue in order to make it possible to enable / disable it easily using the addSpecialCaseRenderQueue method. Even if the SceneManager does not use the render queues to render the world geometry, it should still pick a queue to represent it's manual rendering, and check isRenderQueueToBeProcessed before rendering.
PCZone* Ogre::PCZSceneManager::getZoneByName ( const String zoneName)

Get a zone by name.

ZoneIterator Ogre::PCZSceneManager::getZoneIterator ( void  )
inline

Definition at line 318 of file OgrePCZSceneManager.h.

virtual bool Ogre::SceneManager::hasAnimation ( const String name) const
virtualinherited

Returns whether an animation with the given name exists.

virtual bool Ogre::SceneManager::hasAnimationState ( const String name) const
virtualinherited

Returns whether an animation state with the given name exists.

virtual bool Ogre::SceneManager::hasInstanceManager ( IdString  managerName) const
virtualinherited

Returns whether an InstanceManager with the given name exists.

virtual bool Ogre::PCZSceneManager::hasLight ( const String name) const
virtual

Returns whether a light with the given name exists.

virtual bool Ogre::SceneManager::hasMovableObject ( MovableObject m)
virtualinherited

Returns if this SceneManager contains the specified MovableObject.

virtual bool Ogre::SceneManager::hasOption ( const String strKey) const
inlinevirtualinherited

Method for verifying whether the scene manager has an implementation-specific option.

Parameters
strKeyThe name of the option to check for.
Returns
If the scene manager contains the given option, true is returned.
Remarks
If it does not, false is returned.

Definition at line 1658 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::hasStaticGeometry ( const String name) const
virtualinherited

Returns whether a static geometry instance with the given name exists.

virtual void Ogre::SceneManager::highLevelCull ( )
protectedvirtualinherited

Culls the scene in a high level fashion (i.e.

Octree, Portal, etc.) by taking into account all registered cameras. Produces a list of culled Entities & SceneNodes that must follow a very strict set of rules: Entities are separated by RenderQueue Entities sharing the same skeleton need to be adjacent (TODO: Required? dark_sylinc) SceneNodes must be separated by hierarchy depth and must be contiguous within the same depth level. (

See also
mNodeMemoryManagerCulledList)
Remarks
The default implementation just returns all nodes in the scene. updateAllTransforms
See also
updateSceneGraph
void Ogre::PCZSceneManager::init ( const String defaultZoneTypeName,
const String filename = "none" 
)

Initializes the manager.

virtual void Ogre::SceneManager::initRenderQueue ( void  )
protectedvirtualinherited

Internal method for initialising the render queue.

Remarks
Subclasses can use this to install their own RenderQueue implementation.
virtual void Ogre::SceneManager::injectMovableObject ( MovableObject m)
virtualinherited

Inject a MovableObject instance created externally.

Remarks
This method 'injects' a MovableObject instance created externally into the MovableObject instance registry held in the SceneManager. You might want to use this if you have a MovableObject which you don't want to register a factory for; for example a MovableObject which cannot be generally constructed by clients.
Note
It is important that the MovableObject has a unique name for the type, and that its getMovableType() method returns a proper type name.
void Ogre::SceneManager::instanceBatchCullFrustumThread ( const InstanceBatchCullRequest request,
size_t  threadIdx 
)
protectedinherited

Traverses mVisibleObjects[threadIdx] from each thread to call MovableObject::instanceBatchCullFrustumThreaded (which is supposed to cull objects)

Parameters
threadIdxThread index so we know at which point we should start at. Must be unique for each worker thread
virtual bool Ogre::SceneManager::isLateMaterialResolving ( ) const
inlinevirtualinherited

Gets whether using late material resolving or not.

See also
setLateMaterialResolving

Definition at line 2740 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::isRenderQueueToBeProcessed ( uint8  qid)
virtualinherited

Returns whether or not the named queue will be rendered based on the current 'special case' render queue list and mode.

See also
SceneManager::addSpecialCaseRenderQueue
Parameters
qidThe identifier of the queue which should be tested
Returns
true if the queue will be rendered, false otherwise
virtual bool Ogre::SceneManager::isSkyBoxEnabled ( void  ) const
inlinevirtualinherited

Return whether a skybox is enabled.

Definition at line 2023 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::isSkyDomeEnabled ( void  ) const
inlinevirtualinherited

Return whether a skydome is enabled.

Definition at line 2150 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::isSkyPlaneEnabled ( void  ) const
inlinevirtualinherited

Return whether a key plane is enabled.

Definition at line 1928 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::manualRender ( RenderOperation rend,
Pass pass,
Viewport vp,
const Matrix4 worldMatrix,
const Matrix4 viewMatrix,
const Matrix4 projMatrix,
bool  doBeginEndFrame = false 
)
virtualinherited

Manual rendering method, for advanced users only.

Remarks
This method allows you to send rendering commands through the pipeline on demand, bypassing OGRE's normal world processing. You should only use this if you really know what you're doing; OGRE does lots of things for you that you really should let it do. However, there are times where it may be useful to have this manual interface, for example overlaying something on top of the scene rendered by OGRE.
Because this is an instant rendering method, timing is important. The best time to call it is from a RenderTargetListener event handler.
Don't call this method a lot, it's designed for rare (1 or 2 times per frame) use. Calling it regularly per frame will cause frame rate drops!
Parameters
rendA RenderOperation object describing the rendering op
passThe Pass to use for this render
vpPointer to the viewport to render to, or 0 to use the current viewport
worldMatrixThe transform to apply from object to world space
viewMatrixThe transform to apply from world to view space
projMatrixThe transform to apply from view to screen space
doBeginEndFrameIf true, beginFrame() and endFrame() are called, otherwise not. You should leave this as false if you are calling this within the main render loop.
virtual void Ogre::SceneManager::manualRender ( Renderable rend,
const Pass pass,
Viewport vp,
const Matrix4 viewMatrix,
const Matrix4 projMatrix,
bool  doBeginEndFrame = false,
bool  lightScissoringClipping = true,
bool  doLightIteration = true 
)
virtualinherited

Manual rendering method for rendering a single object.

Parameters
rendThe renderable to issue to the pipeline
passThe pass to use
vpPointer to the viewport to render to, or 0 to use the existing viewport
doBeginEndFrameIf true, beginFrame() and endFrame() are called, otherwise not. You should leave this as false if you are calling this within the main render loop.
viewMatrixThe transform to apply from world to view space
projMatrixThe transform to apply from view to screen space
lightScissoringClippingIf true, passes that have the getLightScissorEnabled and/or getLightClipPlanesEnabled flags will cause calculation and setting of scissor rectangle and user clip planes.
doLightIterationIf true, this method will issue the renderable to the pipeline possibly multiple times, if the pass indicates it should be done once per light
manualLightListOnly applicable if doLightIteration is false, this method allows you to pass in a previously determined set of lights which will be used for a single render of this object.
void Ogre::SceneManager::notifyStaticAabbDirty ( MovableObject movableObject)
inherited

Notifies that the given MovableObject is dirty (i.e.

the AABBs have changed). Note that the parent SceneNodes of this/these objects are not updated and you will have to call

See also
notifyStaticDirty on the SceneNode if the position/rotation/scale have changed.
void Ogre::SceneManager::notifyStaticDirty ( Node node)
inherited

Notifies that the given Node is dirty (i.e.

the position, orientation and/or scale has changed). The call will cascade to all children of the input node.

Remarks
Implies a call to
See also
notifyStaticAabbDirty if the node or any of its children has a MovableObject attached.
Calling notifyStaticDirty( getRootSceneNode( SCENE_STATIC ) ) should flush the entire static system. It might be slower, but it is useful when you're witnessing artifacts after making changes to the static environment and don't know for sure which objects need to be updated.
Ogre::SceneManager::OGRE_MUTEX ( mMovableObjectCollectionMapMutex  )
protectedinherited

Mutex over the collection of MovableObject types.

Ogre::SceneManager::OGRE_MUTEX ( mAnimationsListMutex  )
protectedinherited
Ogre::SceneManager::OGRE_MUTEX ( sceneGraphMutex  )
inherited

Mutex to protect the scene graph from simultaneous access from multiple threads.

Remarks
If you are updating the scene in a separate thread from the rendering thread, then you should lock this mutex before making any changes to the scene graph - that means creating, modifying or deleting a scene node, or attaching / detaching objects. It is your responsibility to take out this lock, the detail methods on the nodes will not do it for you (for the reasons discussed below).
Note that locking this mutex will prevent the scene being rendered until it is unlocked again. Therefore you should do this sparingly. Try to create any objects you need separately and fully prepare them before doing all your scene graph work in one go, thus keeping this lock for the shortest time possible.
Note
A single global lock is used rather than a per-node lock since it keeps the number of locks required during rendering down to a minimum. Obtaining a lock, even if there is no contention, is not free so for performance it is good to do it as little as possible. Since modifying the scene in a separate thread is a fairly rare occurrence (relative to rendering), it is better to keep the locking required during rendering lower than to make update locks more granular.
Ogre::SceneManager::OGRE_SIMD_ALIGNED_DECL ( Matrix4  ,
mTempXform  [256] 
)
protectedinherited
template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

virtual void Ogre::SceneManager::prepareRenderQueue ( void  )
protectedvirtualinherited

Internal method for preparing the render queue for use with each render.

virtual void Ogre::PCZSceneManager::prepareShadowTextures ( Camera cam,
Viewport vp,
const LightList lightList = 0 
)
virtual
See also
SceneManager::prepareShadowTextures.
virtual void Ogre::SceneManager::prepareWorldGeometry ( const String filename)
virtualinherited

Sets the source of the 'world' geometry, i.e.

the large, mainly static geometry making up the world e.g. rooms, landscape etc. This function can be called before setWorldGeometry in a background thread, do to some slow tasks (e.g. IO) that do not involve the backend render system.

Remarks
Depending on the type of SceneManager (subclasses will be specialised for particular world geometry types) you have requested via the Root or SceneManagerEnumerator classes, you can pass a filename to this method and it will attempt to load the world-level geometry for use. If you try to load an inappropriate type of world data an exception will be thrown. The default SceneManager cannot handle any sort of world geometry and so will always throw an exception. However subclasses like BspSceneManager can load particular types of world geometry e.g. "q3dm1.bsp".
virtual void Ogre::SceneManager::prepareWorldGeometry ( DataStreamPtr stream,
const String typeName = BLANKSTRING 
)
virtualinherited

Sets the source of the 'world' geometry, i.e.

the large, mainly static geometry making up the world e.g. rooms, landscape etc. This function can be called before setWorldGeometry in a background thread, do to some slow tasks (e.g. IO) that do not involve the backend render system.

Remarks
Depending on the type of SceneManager (subclasses will be specialised for particular world geometry types) you have requested via the Root or SceneManagerEnumerator classes, you can pass a stream to this method and it will attempt to load the world-level geometry for use. If the manager can only handle one input format the typeName parameter is not required. The stream passed will be read (and it's state updated).
Parameters
streamData stream containing data to load
typeNameString identifying the type of world geometry contained in the stream - not required if this manager only supports one type of world geometry.
void Ogre::SceneManager::propagateRelativeOrigin ( SceneNode sceneNode,
const Vector3 relativeOrigin 
)
protectedinherited

Permanently applies the relative origin change and propagates to children nodes.

Remarks
Relative origins should happen at the root level. If both a parent & children apply the relative origin, we would be applying the offset twice. This algorithm works by analyzing if we can keep moving the change to children nodes. We can only do so if the parent node doesn't have attachments, or if their attachments are all Cameras.
virtual void Ogre::SceneManager::registerSceneNodeListener ( SceneNode sceneNode)
virtualinherited

Node listeners need to be registered with us so that they can be successfully called when calling updateAllTransforms.

updateAllTransforms

virtual void Ogre::SceneManager::removeListener ( Listener s)
virtualinherited

Remove a listener.

void Ogre::SceneManager::removeLodListener ( LodListener listener)
inherited

Remove a level of detail listener.

Remarks
Do not call from inside an LodListener callback method.
virtual void Ogre::SceneManager::removeRenderObjectListener ( RenderObjectListener delListener)
virtualinherited

Removes a listener previously added with addRenderObjectListener.

virtual void Ogre::SceneManager::removeRenderQueueListener ( RenderQueueListener delListener)
virtualinherited

Removes a listener previously added with addRenderQueueListener.

void Ogre::PCZSceneManager::removeSceneNode ( SceneNode )

Removes the given PCZSceneNode.

virtual void Ogre::SceneManager::removeSpecialCaseRenderQueue ( uint8  qid)
virtualinherited

Removes an item to the 'special case' render queue list.

See also
SceneManager::addSpecialCaseRenderQueue
Parameters
qidThe identifier of the queue which should be removed from the special case list. Nothing happens if the queue is not in the list.
virtual_l1 void Ogre::SceneManager::renderBasicQueueGroupObjects ( RenderQueueGroup pGroup,
QueuedRenderableCollection::OrganisationMode  om 
)
protectedinherited

Render a group in the ordinary way.

virtual_l1 void Ogre::SceneManager::renderObjects ( const QueuedRenderableCollection objs,
QueuedRenderableCollection::OrganisationMode  om,
bool  lightScissoringClipping,
bool  doLightIteration 
)
protectedinherited

Render a set of objects, see renderSingleObject for param definitions.

virtual_l1 void Ogre::SceneManager::renderSingleObject ( Renderable rend,
const Pass pass,
bool  lightScissoringClipping,
bool  doLightIteration 
)
protectedinherited

Internal utility method for rendering a single object.

Remarks
Assumes that the pass has already been set up.
Parameters
rendThe renderable to issue to the pipeline
passThe pass which is being used
lightScissoringClippingIf true, passes that have the getLightScissorEnabled and/or getLightClipPlanesEnabled flags will cause calculation and setting of scissor rectangle and user clip planes.
doLightIterationIf true, this method will issue the renderable to the pipeline possibly multiple times, if the pass indicates it should be done once per light
manualLightListOnly applicable if doLightIteration is false, this method allows you to pass in a previously determined set of lights which will be used for a single render of this object.
virtual_l1 void Ogre::SceneManager::renderTextureShadowCasterQueueGroupObjects ( RenderQueueGroup group,
QueuedRenderableCollection::OrganisationMode  om 
)
protectedinherited

Render a group rendering only shadow casters.

virtual_l1 void Ogre::SceneManager::renderTransparentShadowCasterObjects ( const QueuedRenderableCollection objs,
QueuedRenderableCollection::OrganisationMode  om,
bool  lightScissoringClipping,
bool  doLightIteration 
)
protectedinherited

Render those objects in the transparent pass list which have shadow casting forced on.

Remarks
This function is intended to be used to render the shadows of transparent objects which have transparency_casts_shadows set to 'on' in their material
virtual void Ogre::SceneManager::renderVisibleObjectsCustomSequence ( RenderQueueInvocationSequence s)
protectedvirtualinherited

Internal method for rendering all objects using a custom queue sequence.

virtual void Ogre::SceneManager::renderVisibleObjectsDefaultSequence ( void  )
protectedvirtualinherited

Internal method for rendering all objects using the default queue sequence.

virtual void Ogre::SceneManager::resetLightClip ( )
protectedvirtualinherited
virtual void Ogre::SceneManager::resetScissor ( )
protectedvirtualinherited
virtual void Ogre::SceneManager::resetViewProjMode ( bool  fixedFunction)
protectedvirtualinherited

Internal method used by _renderSingleObject to deal with renderables which override the camera's own view / projection matrices.

void Ogre::SceneManager::setAmbientLight ( const ColourValue colour)
inherited

Sets the ambient light level to be used for the scene.

Remarks
This sets the colour and intensity of the ambient light in the scene, i.e. the light which is 'sourceless' and illuminates all objects equally. The colour of an object is affected by a combination of the light in the scene, and the amount of light that object reflects (in this case based on the Material::ambient property).
By default the ambient light in the scene is ColourValue::Black, i.e. no ambient light. This means that any objects rendered with a Material which has lighting enabled (see Material::setLightingEnabled) will not be visible unless you have some dynamic lights in your scene.
virtual void Ogre::SceneManager::setDisplaySceneNodes ( bool  display)
virtualinherited

Tells the SceneManager whether it should render the SceneNodes which make up the scene as well as the objects in the scene.

Remarks
This method is mainly for debugging purposes. If you set this to 'true', each node will be rendered as a set of 3 axes to allow you to easily see the orientation of the nodes.
virtual void Ogre::SceneManager::setFindVisibleObjects ( bool  find)
inlinevirtualinherited

Sets whether the SceneManager should search for visible objects, or whether they are being manually handled.

Remarks
This is an advanced function, you should not use this unless you know what you are doing.

Definition at line 2948 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::setFlipCullingOnNegativeScale ( bool  n)
inlinevirtualinherited

Set whether to automatically flip the culling mode on objects whenever they are negatively scaled.

Remarks
Negativelyl scaling an object has the effect of flipping the triangles, so the culling mode should probably be inverted to deal with this. If you would prefer to manually manage this, set this option to 'false' and use different materials with Pass::setCullingMode set manually as needed.

Definition at line 2978 of file OgreSceneManager.h.

void Ogre::SceneManager::setFog ( FogMode  mode = FOG_NONE,
const ColourValue colour = ColourValue::White,
Real  expDensity = 0.001,
Real  linearStart = 0.0,
Real  linearEnd = 1.0 
)
inherited

Sets the fogging mode applied to the scene.

Remarks
This method sets up the scene-wide fogging effect. These settings apply to all geometry rendered, UNLESS the material with which it is rendered has it's own fog settings (see Material::setFog).
Parameters
modeSet up the mode of fog as described in the FogMode enum, or set to FOG_NONE to turn off.
colourThe colour of the fog. Either set this to the same as your viewport background colour, or to blend in with a skydome or skybox.
expDensityThe density of the fog in FOG_EXP or FOG_EXP2 mode, as a value between 0 and 1. The default is 0.001.
linearStartDistance in world units at which linear fog starts to encroach. Only applicable if mode is FOG_LINEAR.
linearEndDistance in world units at which linear fog becomes completely opaque. Only applicable if mode is FOG_LINEAR.
virtual void Ogre::SceneManager::setLateMaterialResolving ( bool  isLate)
inlinevirtualinherited

Sets whether to use late material resolving or not.

If set, materials will be resolved from the materials at the pass-setting stage and not at the render queue building stage. This is useful when the active material scheme during the render queue building stage is different from the one during the rendering stage.

Definition at line 2736 of file OgreSceneManager.h.

void Ogre::PCZSceneManager::setNodeHomeZone ( SceneNode ,
PCZone  
)

Set the home zone for a scene node.

virtual void Ogre::SceneManager::setNormaliseNormalsOnScale ( bool  n)
inlinevirtualinherited

Set whether to automatically normalise normals on objects whenever they are scaled.

Remarks
Scaling can distort normals so the default behaviour is to compensate for this, but it has a cost. If you would prefer to manually manage this, set this option to 'false' and use Pass::setNormaliseNormals only when needed.

Definition at line 2963 of file OgreSceneManager.h.

virtual bool Ogre::PCZSceneManager::setOption ( const String ,
const void *   
)
virtual

Sets the given option for the SceneManager.

Remarks
Options are: "ShowPortals", bool *; "ShowBoundingBoxes", bool *;

Reimplemented from Ogre::SceneManager.

void Ogre::SceneManager::setQueuedRenderableVisitor ( SceneMgrQueuedRenderableVisitor visitor)
inherited

Advanced method for supplying an alternative visitor, used for parsing the render queues and sending the results to the renderer.

Remarks
You can use this method to insert your own implementation of the QueuedRenderableVisitor interface, which receives calls as the queued renderables are parsed in a given order (determined by RenderQueueInvocationSequence) and are sent to the renderer. If you provide your own implementation of this visitor, you are responsible for either calling the rendersystem, or passing the calls on to the base class implementation.
Note
Ownership is not taken of this pointer, you are still required to delete it yourself once you're finished.
Parameters
visitorYour implementation of SceneMgrQueuedRenderableVisitor. If you pass 0, the default implementation will be used.
virtual void Ogre::SceneManager::setRelativeOrigin ( const Vector3 relativeOrigin,
bool  bPermanent 
)
virtualinherited

Set whether to use relative offset co-ordinates when rendering, ie offset to subtract to the camera, lights & objects.

Remarks
This is a technique to alleviate some of the precision issues associated with rendering far from the origin, where single-precision floats as used in most GPUs begin to lose their precision. The origin "translates" to this new relativeOffset. Any previous non-permanent origin is overriden
All that this function performs is just offseting the root scene node, and as such, will force to update the static nodes as well. Call this at a low frequency (i.e. when camera has gone too far from origin)
Note
If you need this option, you will probably also need to enable double-precision mode in Ogre (OGRE_DOUBLE_PRECISION), since even though this will alleviate the rendering precision, the source camera and object positions will still suffer from precision issues leading to jerky movement.
Parameters
bPermanentWhen false, it only affects the root nodes (static & dynamic) so that everything is shifted by the relative origin, causing world & view matrices to contain smaller values. This improves the quality of skeletal animations and "Z fighting"-like artifacts because vertices don't snap to the right place. However, it won't fix the jittering of objects observed while translating them by small increments, including camera movement.

Setting this value to true will force the SceneManager to propagate the change as much as possible to child nodes (including attached Cameras), causing the change to become permanent/irreversible. This achieves greater quality since translating objects or camera by small amounts now gets more accuracy. propagateRelativeOrigin.

virtual void Ogre::SceneManager::setShadowCasterRenderBackFaces ( bool  bf)
inlinevirtualinherited

Sets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces.

Remarks
Rendering back faces rather than front faces into a shadow texture can help minimise depth comparison issues, if you're using depth shadowmapping. You will probably still need some biasing but you won't need as much. For solid objects the result is the same anyway, if you have objects with holes you may want to turn this option off. The default is to enable this option.

Definition at line 2717 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::setShadowColour ( const ColourValue colour)
virtualinherited

Set the colour used to modulate areas in shadow.

Remarks
This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas.
virtual void Ogre::SceneManager::setShadowDirectionalLightExtrusionDistance ( Real  dist)
virtualinherited

Sets the distance a shadow volume is extruded for a directional light.

Remarks
Although directional lights are essentially infinite, there are many reasons to limit the shadow extrusion distance to a finite number, not least of which is compatibility with older cards (which do not support infinite positions), and shadow caster elimination.
The default value is 10,000 world units. This does not apply to point lights or spotlights, since they extrude up to their attenuation range.
virtual void Ogre::SceneManager::setShadowDirLightTextureOffset ( Real  offset)
inlinevirtualinherited

Sets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space.

Remarks
When generating a shadow texture from a directional light, an approximation is used since it is not possible to render the entire scene to one texture. The texture is projected onto an area centred on the camera, and is the shadow far distance * 2 in length (it is square). This wastes a lot of texture space outside the frustum though, so this offset allows you to move the texture in front of the camera more. However, be aware that this can cause a little shadow 'jittering' during rotation, and that if you move it too far then you'll start to get artefacts close to the camera. The value is represented as a proportion of the shadow far distance, and the default is 0.6.

Definition at line 2661 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::setShadowFarDistance ( Real  distance)
virtualinherited

Sets the default maximum distance away from the camera that shadows will be visible.

You have to call this function before you create lights or the default distance of zero will be used.

Remarks
Shadow techniques can be expensive, therefore it is a good idea to limit them to being rendered close to the camera if possible, and to skip the expense of rendering shadows for distance objects. This method allows you to set the distance at which shadows will no longer be rendered.
Note
Each shadow technique can interpret this subtely differently. For example, one technique may use this to eliminate casters, another might use it to attenuate the shadows themselves. You should tweak this value to suit your chosen shadow technique and scene setup.
virtual void Ogre::SceneManager::setShadowTextureCasterMaterial ( const String name)
virtualinherited

Sets the default material to use for rendering shadow casters.

Remarks
By default shadow casters are rendered into the shadow texture using an automatically generated fixed-function pass. This allows basic projective texture shadows, but it's possible to use more advanced shadow techniques by overriding the caster materials, for example providing vertex and fragment programs to implement shadow maps.
You can rely on the ambient light in the scene being set to the requested texture shadow colour, if that's useful.
Note
Individual objects may also override the vertex program in your default material if their materials include shadow_caster_vertex_program_ref, shadow_caster_material entries, so if you use both make sure they are compatible.
Only a single pass is allowed in your material, although multiple techniques may be used for hardware fallback.
virtual void Ogre::SceneManager::setShadowTextureFadeEnd ( Real  fadeEnd)
inlinevirtualinherited

Sets the proportional distance at which texture shadows finish to fading out.

Remarks
To hide the edges where texture shadows end (in directional lights) Ogre will fade out the shadow in the distance. This value is a proportional distance of the entire shadow visibility distance at which the shadow is completely invisible. The default is 0.9.

Definition at line 2682 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::setShadowTextureFadeStart ( Real  fadeStart)
inlinevirtualinherited

Sets the proportional distance at which texture shadows begin to fade out.

Remarks
To hide the edges where texture shadows end (in directional lights) Ogre will fade out the shadow in the distance. This value is a proportional distance of the entire shadow visibility distance at which the shadow begins to fade out. The default is 0.7

Definition at line 2673 of file OgreSceneManager.h.

void Ogre::PCZSceneManager::setShowPortals ( bool  b)
inline

Sets the portal visibility flag.

Definition at line 288 of file OgrePCZSceneManager.h.

virtual void Ogre::SceneManager::setSkyBox ( bool  enable,
const String materialName,
Real  distance = 5000,
bool  drawFirst = true,
const Quaternion orientation = Quaternion::IDENTITY,
const String groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)
virtualinherited

Enables / disables a 'sky box' i.e.

a 6-sided box at constant distance from the camera representing the sky.

Remarks
You could create a sky box yourself using the standard mesh and entity methods, but this creates a plane which the camera can never get closer or further away from - it moves with the camera. (NB you could create this effect by creating a world box which was attached to the same SceneNode as the Camera too, but this would only apply to a single camera whereas this skybox applies to any camera using this scene manager).
The material you use for the skybox can either contain layers which are single textures, or they can be cubic textures, i.e. made up of 6 images, one for each plane of the cube. See the TextureUnitState class for more information.
Parameters
enableTrue to enable the skybox, false to disable it
materialNameThe name of the material the box will use
distanceDistance in world coorinates from the camera to each plane of the box. The default is normally OK.
drawFirstIf true, the box is drawn before all other geometry in the scene, without updating the depth buffer. This is the safest rendering method since all other objects will always appear in front of the sky. However this is not the most efficient way if most of the sky is often occluded by other objects. If this is the case, you can set this parameter to false meaning it draws after all other geometry which can be an optimisation - however you must ensure that the distance value is large enough that no objects will 'poke through' the sky box when it is rendered.
orientationOptional parameter to specify the orientation of the box. By default the 'top' of the box is deemed to be in the +y direction, and the 'front' at the -z direction. You can use this parameter to rotate the sky if you want.
groupNameThe name of the resource group to which to assign the plane mesh.
virtual void Ogre::SceneManager::setSkyBoxEnabled ( bool  enable)
inlinevirtualinherited

Enables / disables a 'sky box'.

Definition at line 2020 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::setSkyDome ( bool  enable,
const String materialName,
Real  curvature = 10,
Real  tiling = 8,
Real  distance = 4000,
bool  drawFirst = true,
const Quaternion orientation = Quaternion::IDENTITY,
int  xsegments = 16,
int  ysegments = 16,
int  ysegments_keep = -1,
const String groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)
virtualinherited

Enables / disables a 'sky dome' i.e.

an illusion of a curved sky.

Remarks
A sky dome is actually formed by 5 sides of a cube, but with texture coordinates generated such that the surface appears curved like a dome. Sky domes are appropriate where you need a realistic looking sky where the scene is not going to be 'fogged', and there is always a 'floor' of some sort to prevent the viewer looking below the horizon (the distortion effect below the horizon can be pretty horrible, and there is never anyhting directly below the viewer). If you need a complete wrap-around background, use the setSkyBox method instead. You can actually combine a sky box and a sky dome if you want, to give a positional backdrop with an overlayed curved cloud layer.
Sky domes work well with 2D repeating textures like clouds. You can change the apparent 'curvature' of the sky depending on how your scene is viewed - lower curvatures are better for 'open' scenes like landscapes, whilst higher curvatures are better for say FPS levels where you don't see a lot of the sky at once and the exaggerated curve looks good.
Parameters
enableTrue to enable the skydome, false to disable it
materialNameThe name of the material the dome will use
curvatureThe curvature of the dome. Good values are between 2 and 65. Higher values are more curved leading to a smoother effect, lower values are less curved meaning more distortion at the horizons but a better distance effect.
tilingHow many times to tile the texture(s) across the dome.
distanceDistance in world coorinates from the camera to each plane of the box the dome is rendered on. The default is normally OK.
drawFirstIf true, the dome is drawn before all other geometry in the scene, without updating the depth buffer. This is the safest rendering method since all other objects will always appear in front of the sky. However this is not the most efficient way if most of the sky is often occluded by other objects. If this is the case, you can set this parameter to false meaning it draws after all other geometry which can be an optimisation - however you must ensure that the distance value is large enough that no objects will 'poke through' the sky when it is rendered.
orientationOptional parameter to specify the orientation of the dome. By default the 'top' of the dome is deemed to be in the +y direction, and the 'front' at the -z direction. You can use this parameter to rotate the sky if you want.
groupNameThe name of the resource group to which to assign the plane mesh.
virtual void Ogre::SceneManager::setSkyDomeEnabled ( bool  enable)
inlinevirtualinherited

Enables / disables a 'sky dome'.

Definition at line 2147 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::setSkyPlane ( bool  enable,
const Plane plane,
const String materialName,
Real  scale = 1000,
Real  tiling = 10,
bool  drawFirst = true,
Real  bow = 0,
int  xsegments = 1,
int  ysegments = 1,
const String groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)
virtualinherited

Enables / disables a 'sky plane' i.e.

a plane at constant distance from the camera representing the sky.

Remarks
You can create sky planes yourself using the standard mesh and entity methods, but this creates a plane which the camera can never get closer or further away from - it moves with the camera. (NB you could create this effect by creating a world plane which was attached to the same SceneNode as the Camera too, but this would only apply to a single camera whereas this plane applies to any camera using this scene manager).
Note
To apply scaling, scrolls etc to the sky texture(s) you should use the TextureUnitState class methods.
Parameters
enableTrue to enable the plane, false to disable it
planeDetails of the plane, i.e. it's normal and it's distance from the camera.
materialNameThe name of the material the plane will use
scaleThe scaling applied to the sky plane - higher values mean a bigger sky plane - you may want to tweak this depending on the size of plane.d and the other characteristics of your scene
tilingHow many times to tile the texture across the sky. Applies to all texture layers. If you need finer control use the TextureUnitState texture coordinate transformation methods.
drawFirstIf true, the plane is drawn before all other geometry in the scene, without updating the depth buffer. This is the safest rendering method since all other objects will always appear in front of the sky. However this is not the most efficient way if most of the sky is often occluded by other objects. If this is the case, you can set this parameter to false meaning it draws after all other geometry which can be an optimisation - however you must ensure that the plane.d value is large enough that no objects will 'poke through' the sky plane when it is rendered.
bowIf zero, the plane will be completely flat (like previous versions. If above zero, the plane will be curved, allowing the sky to appear below camera level. Curved sky planes are simular to skydomes, but are more compatible with fog.
xsegments,ysegmentsDetermines the number of segments the plane will have to it. This is most important when you are bowing the plane, but may also be useful if you need tessellation on the plane to perform per-vertex effects.
groupNameThe name of the resource group to which to assign the plane mesh.
virtual void Ogre::SceneManager::setSkyPlaneEnabled ( bool  enable)
inlinevirtualinherited

Enables / disables a 'sky plane'.

Definition at line 1925 of file OgreSceneManager.h.

void Ogre::PCZSceneManager::setSkyZone ( PCZone zone)

Set the zone which contains the sky node.

virtual void Ogre::SceneManager::setSpecialCaseRenderQueueMode ( SpecialCaseRenderQueueMode  mode)
virtualinherited

Sets the way the special case render queue list is processed.

See also
SceneManager::addSpecialCaseRenderQueue
Parameters
modeThe mode of processing
virtual void Ogre::SceneManager::setViewMatrix ( const Matrix4 m)
protectedvirtualinherited
virtual void Ogre::SceneManager::setViewport ( Viewport vp)
protectedvirtualinherited

Internal method for setting the destination viewport for the next render.

virtual_l2 void Ogre::SceneManager::setVisibilityMask ( uint32  vmask)
inlineinherited

Sets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible.

Remarks
Note that this is combined with any per-viewport visibility mask through an 'and' operation.
See also
Viewport::setVisibilityMask

Definition at line 2929 of file OgreSceneManager.h.

References Ogre::VisibilityFlags::RESERVED_VISIBILITY_FLAGS.

virtual void Ogre::SceneManager::setWorldGeometry ( const String filename)
virtualinherited

Sets the source of the 'world' geometry, i.e.

the large, mainly static geometry making up the world e.g. rooms, landscape etc.

Remarks
Depending on the type of SceneManager (subclasses will be specialised for particular world geometry types) you have requested via the Root or SceneManagerEnumerator classes, you can pass a filename to this method and it will attempt to load the world-level geometry for use. If you try to load an inappropriate type of world data an exception will be thrown. The default SceneManager cannot handle any sort of world geometry and so will always throw an exception. However subclasses like BspSceneManager can load particular types of world geometry e.g. "q3dm1.bsp".

Reimplemented in Ogre::BspSceneManager.

virtual void Ogre::SceneManager::setWorldGeometry ( DataStreamPtr stream,
const String typeName = BLANKSTRING 
)
virtualinherited

Sets the source of the 'world' geometry, i.e.

the large, mainly static geometry making up the world e.g. rooms, landscape etc.

Remarks
Depending on the type of SceneManager (subclasses will be specialised for particular world geometry types) you have requested via the Root or SceneManagerEnumerator classes, you can pass a stream to this method and it will attempt to load the world-level geometry for use. If the manager can only handle one input format the typeName parameter is not required. The stream passed will be read (and it's state updated).
Parameters
streamData stream containing data to load
typeNameString identifying the type of world geometry contained in the stream - not required if this manager only supports one type of world geometry.

Reimplemented in Ogre::BspSceneManager.

void Ogre::PCZSceneManager::setWorldGeometryRenderQueue ( uint8  qid)
virtual

Overridden from SceneManager.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::PCZSceneManager::setZoneGeometry ( const String zoneName,
PCZSceneNode parentNode,
const String filename 
)
virtual

Set the "main" geometry of the zone.

virtual void Ogre::SceneManager::showBoundingBoxes ( bool  bShow)
virtualinherited

Allows all bounding boxes of scene nodes to be displayed.

void Ogre::SceneManager::startWorkerThreads ( )
protectedinherited
void Ogre::SceneManager::stopWorkerThreads ( )
protectedinherited
virtual void Ogre::SceneManager::unregisterSceneNodeListener ( SceneNode sceneNode)
virtualinherited

Unregisters a registered node for listening.

registerSceneNodeListener

void Ogre::SceneManager::updateAllAnimations ( )
inherited

Updates all skeletal animations in the scene.

This is typically called once per frame during render, but the user might want to manually call this function.

Remarks
mSkeletonAnimManagerCulledList must be set. updateAllTransforms remarks
void Ogre::SceneManager::updateAllAnimationsThread ( size_t  threadIdx)
protectedinherited

Updates the Animations from the given request inside a thread.

updateAllAnimations

Parameters
threadIdxThread index so we know at which point we should start at. Must be unique for each worker thread
void Ogre::SceneManager::updateAllBounds ( const ObjectMemoryManagerVec objectMemManager)
inherited

Updates the world aabbs from all entities in the scene.

Ought to be called right after updateAllTransforms. updateAllTransforms

Remarks
MovableObject::updateAllBounds Don't call this function from another thread other than Ogre's main one (we use worker threads that may be in use for something else, and touching the sync barrier could deadlock in the best of cases).
void Ogre::SceneManager::updateAllBoundsThread ( const ObjectMemoryManagerVec objectMemManager,
size_t  threadIdx 
)
protectedinherited

Updates the world aabbs from the given request inside a thread.

updateAllTransforms

Parameters
threadIdxThread index so we know at which point we should start at. Must be unique for each worker thread
void Ogre::SceneManager::updateAllLods ( const Camera lodCamera,
Real  lodBias,
uint8  firstRq,
uint8  lastRq 
)
inherited

Updates the Lod values of all objects relative to the given camera.

void Ogre::SceneManager::updateAllLodsThread ( const UpdateLodRequest request,
size_t  threadIdx 
)
protectedinherited
Parameters
threadIdxThread index so we know at which point we should start at. Must be unique for each worker thread
void Ogre::SceneManager::updateAllTransforms ( )
inherited

Updates the derived transforms of all nodes in the scene.

This is typically called once per frame during render, but the user may want to manually call this function.

Remarks
mEntitiesMemoryManagerUpdateList must be set. It contains multiple memory manager containing all objects to be updated (i.e. Entities & Lights are both MovableObjects but are kept separate) Don't call this function from another thread other than Ogre's main one (we use worker threads that may be in use for something else, and touching the sync barrier could deadlock in the best of cases).
void Ogre::SceneManager::updateAllTransformsThread ( const UpdateTransformRequest request,
size_t  threadIdx 
)
protectedinherited

Updates the Nodes from the given request inside a thread.

updateAllTransforms

Parameters
requestFully setup request. UpdateTransformRequest.
threadIdxThread index so we know at which point we should start at. Must be unique for each worker thread
void Ogre::SceneManager::updateAnimationTransforms ( BySkeletonDef bySkeletonDef,
size_t  threadIdx 
)
protectedinherited
virtual void Ogre::SceneManager::updateGpuProgramParameters ( const Pass p)
protectedvirtualinherited
void Ogre::SceneManager::updateInstanceManagers ( void  )
protectedinherited

Updates all instance managers with dirty instance batches.

See also
_addDirtyInstanceManager
void Ogre::SceneManager::updateInstanceManagersThread ( size_t  threadIdx)
protectedinherited

Updates all instance managers with dirty instance batches from multiple threads.

See also
updateInstanceManagers and
InstanceBatch::_updateEntitiesBoundsThread
void Ogre::SceneManager::updateSceneGraph ( )
inherited

Updates the scene: Perform high level culling, Node transforms and entity animations.

virtual void Ogre::SceneManager::useLights ( const LightList lights,
unsigned short  limit 
)
protectedvirtualinherited
virtual void Ogre::SceneManager::useLightsGpuProgram ( const Pass pass,
const LightList lights 
)
protectedvirtualinherited
virtual void Ogre::SceneManager::useRenderableViewProjMode ( const Renderable pRend,
bool  fixedFunction 
)
protectedvirtualinherited

Internal method used by _renderSingleObject to deal with renderables which override the camera's own view / projection materices.

virtual_l2 bool Ogre::SceneManager::validatePassForRendering ( const Pass pass)
protectedinherited

Internal method to validate whether a Pass should be allowed to render.

Remarks
Called just before a pass is about to be used for rendering a group to allow the SceneManager to omit it if required. A return value of false skips this pass.
void Ogre::SceneManager::waitForPendingUserScalableTask ( )
inherited

Blocks until the the task from processUserScalableTask finishes.

Remarks
Do NOT call this function if you passed bBlock = true to processUserScalableTask

Friends And Related Function Documentation

friend class PCZAxisAlignedBoxSceneQuery
friend

Definition at line 60 of file OgrePCZSceneManager.h.

friend class PCZIntersectionSceneQuery
friend

Definition at line 57 of file OgrePCZSceneManager.h.

Definition at line 61 of file OgrePCZSceneManager.h.

friend class PCZRaySceneQuery
friend

Definition at line 58 of file OgrePCZSceneManager.h.

friend class PCZSphereSceneQuery
friend

Definition at line 59 of file OgrePCZSceneManager.h.

Member Data Documentation

PCZone* Ogre::PCZSceneManager::mActiveCameraZone
protected

The zone of the active camera (for shadow texture casting use);.

Definition at line 361 of file OgrePCZSceneManager.h.

CompositorChain* Ogre::SceneManager::mActiveCompositorChain
protectedinherited

Definition at line 793 of file OgreSceneManager.h.

SceneMgrQueuedRenderableVisitor* Ogre::SceneManager::mActiveQueuedRenderableVisitor
protectedinherited

The active renderable visitor class - subclasses could override this.

Definition at line 1006 of file OgreSceneManager.h.

ColourValue Ogre::SceneManager::mAmbientLight
protectedinherited

Current ambient light, cached for RenderSystem.

Definition at line 494 of file OgreSceneManager.h.

AnimationList Ogre::SceneManager::mAnimationsList
protectedinherited

Definition at line 708 of file OgreSceneManager.h.

AnimationStateSet Ogre::SceneManager::mAnimationStates
protectedinherited

Definition at line 710 of file OgreSceneManager.h.

AntiPortalList Ogre::PCZSceneManager::mAntiPortals
protected

Master list of AntiPortals in the world.

Definition at line 349 of file OgrePCZSceneManager.h.

AutoParamDataSource* Ogre::SceneManager::mAutoParamDataSource
protectedinherited

Utility class for calculating automatic parameters for gpu programs.

Definition at line 791 of file OgreSceneManager.h.

AutoTrackingSceneNodeVec Ogre::SceneManager::mAutoTrackingSceneNodes
protectedinherited

Definition at line 555 of file OgreSceneManager.h.

Matrix4 Ogre::SceneManager::mCachedViewMatrix
protectedinherited

Whether to use camera-relative rendering.

Definition at line 1011 of file OgreSceneManager.h.

Camera* Ogre::SceneManager::mCameraInProgress
protectedinherited

Camera in progress.

Definition at line 527 of file OgreSceneManager.h.

CameraList Ogre::SceneManager::mCameras
protectedinherited

Central list of cameras - for easy memory management and lookup.

Definition at line 504 of file OgreSceneManager.h.

CameraMap Ogre::SceneManager::mCamerasByName
protectedinherited

Definition at line 505 of file OgreSceneManager.h.

CompositorTextureVec Ogre::SceneManager::mCompositorTextures
protectedinherited

Definition at line 917 of file OgreSceneManager.h.

FrustumVec Ogre::SceneManager::mCubeMapCameras
protectedinherited

Definition at line 507 of file OgreSceneManager.h.

CullFrustumRequest Ogre::SceneManager::mCurrentCullFrustumRequest
protectedinherited

Definition at line 939 of file OgreSceneManager.h.

CompositorShadowNode* Ogre::SceneManager::mCurrentShadowNode
protectedinherited

Definition at line 531 of file OgreSceneManager.h.

Viewport* Ogre::SceneManager::mCurrentViewport
protectedinherited

Current Viewport.

Definition at line 529 of file OgreSceneManager.h.

SceneMgrQueuedRenderableVisitor Ogre::SceneManager::mDefaultQueuedRenderableVisitor
protectedinherited

Storage for default renderable visitor.

Definition at line 1008 of file OgreSceneManager.h.

Real Ogre::SceneManager::mDefaultShadowFarDist
protectedinherited

Definition at line 905 of file OgreSceneManager.h.

Real Ogre::SceneManager::mDefaultShadowFarDistSquared
protectedinherited

Definition at line 906 of file OgreSceneManager.h.

PCZone* Ogre::PCZSceneManager::mDefaultZone
protected

The root PCZone;.

Definition at line 340 of file OgrePCZSceneManager.h.

String Ogre::PCZSceneManager::mDefaultZoneFileName
protected

Name of data file for default zone.

Definition at line 331 of file OgrePCZSceneManager.h.

String Ogre::PCZSceneManager::mDefaultZoneTypeName
protected

Type of default zone to be used.

Definition at line 328 of file OgrePCZSceneManager.h.

RenderSystem* Ogre::SceneManager::mDestRenderSystem
protectedinherited

The rendering system to send the scene to.

Definition at line 497 of file OgreSceneManager.h.

bool Ogre::SceneManager::mDisplayNodes
protectedinherited

Flag indicating whether SceneNodes will be rendered as a set of 3 axes.

Definition at line 704 of file OgreSceneManager.h.

ObjectMemoryManagerVec Ogre::SceneManager::mEntitiesMemoryManagerCulledList
protectedinherited

Definition at line 465 of file OgreSceneManager.h.

ObjectMemoryManagerVec Ogre::SceneManager::mEntitiesMemoryManagerUpdateList
protectedinherited

Definition at line 466 of file OgreSceneManager.h.

EntityMaterialLodChangedEventList Ogre::SceneManager::mEntityMaterialLodChangedEvents
protectedinherited

Definition at line 1048 of file OgreSceneManager.h.

ObjectMemoryManager Ogre::SceneManager::mEntityMemoryManager[NUM_SCENE_MEMORY_MANAGER_TYPES]
protectedinherited

Definition at line 460 of file OgreSceneManager.h.

EntityMeshLodChangedEventList Ogre::SceneManager::mEntityMeshLodChangedEvents
protectedinherited

Definition at line 1044 of file OgreSceneManager.h.

volatile bool Ogre::SceneManager::mExitWorkerThreads
protectedinherited

Definition at line 938 of file OgreSceneManager.h.

bool Ogre::SceneManager::mFindVisibleObjects
protectedinherited

Definition at line 921 of file OgreSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mFiniteExtrusionParams
protectedinherited

Definition at line 973 of file OgreSceneManager.h.

bool Ogre::SceneManager::mFlipCullingOnNegativeScale
protectedinherited

Definition at line 598 of file OgreSceneManager.h.

ColourValue Ogre::SceneManager::mFogColour
protectedinherited

Definition at line 582 of file OgreSceneManager.h.

Real Ogre::SceneManager::mFogDensity
protectedinherited

Definition at line 585 of file OgreSceneManager.h.

Real Ogre::SceneManager::mFogEnd
protectedinherited

Definition at line 584 of file OgreSceneManager.h.

FogMode Ogre::SceneManager::mFogMode
protectedinherited

Definition at line 581 of file OgreSceneManager.h.

Real Ogre::SceneManager::mFogStart
protectedinherited

Definition at line 583 of file OgreSceneManager.h.

unsigned long Ogre::PCZSceneManager::mFrameCount
protected

Frame counter used in visibility determination.

Definition at line 355 of file OgrePCZSceneManager.h.

Rectangle2D* Ogre::SceneManager::mFullScreenQuad
protectedinherited

Definition at line 799 of file OgreSceneManager.h.

LightListInfo Ogre::SceneManager::mGlobalLightList
protectedinherited

Updated every frame, has enough memory to hold all lights.

Definition at line 491 of file OgreSceneManager.h.

uint16 Ogre::SceneManager::mGpuParamsDirty
protectedinherited

Gpu params that need rebinding (mask of GpuParamVariability)

Definition at line 1019 of file OgreSceneManager.h.

IlluminationRenderStage Ogre::SceneManager::mIlluminationStage
protectedinherited

Definition at line 801 of file OgreSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mInfiniteExtrusionParams
protectedinherited

Definition at line 972 of file OgreSceneManager.h.

InstanceBatchCullRequest Ogre::SceneManager::mInstanceBatchCullRequest
protectedinherited

Definition at line 944 of file OgreSceneManager.h.

InstanceManagerVec Ogre::SceneManager::mInstanceManagers
protectedinherited

Definition at line 513 of file OgreSceneManager.h.

InstancingTheadedCullingMethod Ogre::SceneManager::mInstancingThreadedCullingMethod
protectedinherited

Definition at line 943 of file OgreSceneManager.h.

Camera* Ogre::PCZSceneManager::mLastActiveCamera
protected

Camera of last _findVisibleObjects()

Definition at line 337 of file OgrePCZSceneManager.h.

unsigned long Ogre::SceneManager::mLastFrameNumber
protectedinherited

Definition at line 592 of file OgreSceneManager.h.

uint32 Ogre::SceneManager::mLastLightHash
protectedinherited

Last light sets.

Definition at line 1015 of file OgreSceneManager.h.

uint32 Ogre::SceneManager::mLastLightHashGpuProgram
protectedinherited

Definition at line 1017 of file OgreSceneManager.h.

unsigned short Ogre::SceneManager::mLastLightLimit
protectedinherited

Definition at line 1016 of file OgreSceneManager.h.

bool Ogre::SceneManager::mLastRenderQueueInvocationCustom
protectedinherited

Definition at line 488 of file OgreSceneManager.h.

bool Ogre::SceneManager::mLateMaterialResolving
protectedinherited

Definition at line 794 of file OgreSceneManager.h.

LightClippingInfoMap Ogre::SceneManager::mLightClippingInfoMap
protectedinherited

Definition at line 814 of file OgreSceneManager.h.

unsigned long Ogre::SceneManager::mLightClippingInfoMapFrameNumber
protectedinherited

Definition at line 815 of file OgreSceneManager.h.

ObjectMemoryManager Ogre::SceneManager::mLightMemoryManager
protectedinherited

Definition at line 461 of file OgreSceneManager.h.

ObjectMemoryManagerVec Ogre::SceneManager::mLightsMemoryManagerCulledList
protectedinherited

Definition at line 467 of file OgreSceneManager.h.

ListenerList Ogre::SceneManager::mListeners
protectedinherited

Definition at line 727 of file OgreSceneManager.h.

LodListenerSet Ogre::SceneManager::mLodListeners
protectedinherited

Definition at line 1036 of file OgreSceneManager.h.

MovableObjectCollectionMap Ogre::SceneManager::mMovableObjectCollectionMap
protectedinherited

Definition at line 636 of file OgreSceneManager.h.

MovableObjectLodChangedEventList Ogre::SceneManager::mMovableObjectLodChangedEvents
protectedinherited

Definition at line 1040 of file OgreSceneManager.h.

String Ogre::SceneManager::mName
protectedinherited

Instance name.

Definition at line 484 of file OgreSceneManager.h.

NodeMemoryManager Ogre::SceneManager::mNodeMemoryManager[NUM_SCENE_MEMORY_MANAGER_TYPES]
protectedinherited

These are the main memory managers.

Note that some Scene Managers may have more than one memory manager (eg. one per Octant in an Octree implementation, one per Portal, etc) Those managers can, at the start of scene graph update, transfer/move the objects created in the main mem. managers into their localized versions.

During

See also
highLevelCull, those scene managers will update mNodeMemoryManagerCulledList and co. to indicate which memory managers should be traversed for rendering.

Definition at line 459 of file OgreSceneManager.h.

NodeMemoryManagerVec Ogre::SceneManager::mNodeMemoryManagerUpdateList
protectedinherited

Filled and cleared every frame in HighLevelCull()

Definition at line 464 of file OgreSceneManager.h.

bool Ogre::SceneManager::mNormaliseNormalsOnScale
protectedinherited

Definition at line 597 of file OgreSceneManager.h.

size_t Ogre::SceneManager::mNumWorkerThreads
protectedinherited

Definition at line 936 of file OgreSceneManager.h.

CullingMode Ogre::SceneManager::mPassCullingMode
protectedinherited

Definition at line 599 of file OgreSceneManager.h.

PortalList Ogre::PCZSceneManager::mPortals
protected

Master list of Portals in the world (includes all portals)

Definition at line 346 of file OgrePCZSceneManager.h.

Vector3 Ogre::SceneManager::mRelativeOffset
protectedinherited

Definition at line 1012 of file OgreSceneManager.h.

RenderObjectListenerList Ogre::SceneManager::mRenderObjectListeners
protectedinherited

Definition at line 725 of file OgreSceneManager.h.

RenderQueue* Ogre::SceneManager::mRenderQueue
protectedinherited

Queue of objects for rendering.

Definition at line 487 of file OgreSceneManager.h.

RenderQueueListenerList Ogre::SceneManager::mRenderQueueListeners
protectedinherited

Definition at line 722 of file OgreSceneManager.h.

RequestType Ogre::SceneManager::mRequestType
protectedinherited

Definition at line 946 of file OgreSceneManager.h.

bool Ogre::SceneManager::mResetIdentityProj
protectedinherited

Definition at line 595 of file OgreSceneManager.h.

bool Ogre::SceneManager::mResetIdentityView
protectedinherited

Definition at line 594 of file OgreSceneManager.h.

SceneNodeList Ogre::SceneManager::mSceneNodes
protectedinherited

Central list of SceneNodes - for easy memory management.

Note
Note that this list is used only for memory management; the structure of the scene is held using the hierarchy of SceneNodes starting with the root node. However you can look up nodes this way.

Definition at line 523 of file OgreSceneManager.h.

SceneNodeList Ogre::SceneManager::mSceneNodesWithListeners
protectedinherited

Definition at line 524 of file OgreSceneManager.h.

SceneNode* Ogre::SceneManager::mSceneRoot[NUM_SCENE_MEMORY_MANAGER_TYPES]
protectedinherited

Root scene node.

Definition at line 534 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowCasterPlainBlackPass
protectedinherited

A pass designed to let us render shadow colour on white for texture shadows.

Definition at line 656 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShadowCasterRenderBackFaces
protectedinherited

Definition at line 802 of file OgreSceneManager.h.

ColourValue Ogre::SceneManager::mShadowColour
protectedinherited

Definition at line 796 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowDirLightExtrudeDist
protectedinherited

Definition at line 800 of file OgreSceneManager.h.

HardwareIndexBufferSharedPtr Ogre::SceneManager::mShadowIndexBuffer
protectedinherited

Definition at line 797 of file OgreSceneManager.h.

size_t Ogre::SceneManager::mShadowIndexBufferUsedSize
protectedinherited

Definition at line 798 of file OgreSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomCasterFPParams
protectedinherited

Definition at line 914 of file OgreSceneManager.h.

String Ogre::SceneManager::mShadowTextureCustomCasterFragmentProgram
protectedinherited

Definition at line 912 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowTextureCustomCasterPass
protectedinherited

As a proportion e.g. 0.9.

Definition at line 910 of file OgreSceneManager.h.

String Ogre::SceneManager::mShadowTextureCustomCasterVertexProgram
protectedinherited

Definition at line 911 of file OgreSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomCasterVPParams
protectedinherited

Definition at line 913 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowTextureFadeEnd
protectedinherited

As a proportion e.g. 0.6.

Definition at line 909 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowTextureFadeStart
protectedinherited

Proportion of texture offset in view direction e.g. 0.4.

Definition at line 908 of file OgreSceneManager.h.

vector<size_t>::type Ogre::SceneManager::mShadowTextureIndexLightList
protectedinherited

Array defining shadow texture index in light list.

Definition at line 603 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowTextureOffset
protectedinherited

Definition at line 907 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShowBoundingBoxes
protectedinherited

Flag that indicates if all of the scene node's bounding boxes should be shown as a wireframe.

Definition at line 756 of file OgreSceneManager.h.

bool Ogre::PCZSceneManager::mShowPortals
protected

Portals visibility flag.

Definition at line 352 of file OgrePCZSceneManager.h.

SkeletonAnimManager Ogre::SceneManager::mSkeletonAnimationManager
protectedinherited

Definition at line 462 of file OgreSceneManager.h.

SkeletonAnimManagerVec Ogre::SceneManager::mSkeletonAnimManagerCulledList
protectedinherited

Definition at line 468 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyBoxEnabled
protectedinherited

Definition at line 572 of file OgreSceneManager.h.

SkyBoxGenParameters Ogre::SceneManager::mSkyBoxGenParameters
protectedinherited

Definition at line 574 of file OgreSceneManager.h.

SceneNode* Ogre::SceneManager::mSkyBoxNode
protectedinherited

Definition at line 565 of file OgreSceneManager.h.

ManualObject* Ogre::SceneManager::mSkyBoxObj
protectedinherited

Definition at line 561 of file OgreSceneManager.h.

Quaternion Ogre::SceneManager::mSkyBoxOrientation
protectedinherited

Definition at line 573 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyDomeEnabled
protectedinherited

Definition at line 576 of file OgreSceneManager.h.

Entity* Ogre::SceneManager::mSkyDomeEntity[5]
protectedinherited

Definition at line 560 of file OgreSceneManager.h.

SkyDomeGenParameters Ogre::SceneManager::mSkyDomeGenParameters
protectedinherited

Definition at line 578 of file OgreSceneManager.h.

SceneNode* Ogre::SceneManager::mSkyDomeNode
protectedinherited

Definition at line 564 of file OgreSceneManager.h.

Quaternion Ogre::SceneManager::mSkyDomeOrientation
protectedinherited

Definition at line 577 of file OgreSceneManager.h.

Plane Ogre::SceneManager::mSkyPlane
protectedinherited

Definition at line 569 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyPlaneEnabled
protectedinherited

Definition at line 568 of file OgreSceneManager.h.

Entity* Ogre::SceneManager::mSkyPlaneEntity
protectedinherited

Definition at line 559 of file OgreSceneManager.h.

SkyPlaneGenParameters Ogre::SceneManager::mSkyPlaneGenParameters
protectedinherited

Definition at line 570 of file OgreSceneManager.h.

SceneNode* Ogre::SceneManager::mSkyPlaneNode
protectedinherited

Definition at line 563 of file OgreSceneManager.h.

SpecialCaseRenderQueueList Ogre::SceneManager::mSpecialCaseQueueList
protectedinherited

Definition at line 588 of file OgreSceneManager.h.

SpecialCaseRenderQueueMode Ogre::SceneManager::mSpecialCaseQueueMode
protectedinherited

Definition at line 589 of file OgreSceneManager.h.

bool Ogre::SceneManager::mStaticEntitiesDirty
protectedinherited

Whether mEntityMemoryManager[SCENE_STATIC] is dirty (assume all render queues, you shouldn't be doing this often anyway!)

Definition at line 481 of file OgreSceneManager.h.

StaticGeometryList Ogre::SceneManager::mStaticGeometryList
protectedinherited

Definition at line 510 of file OgreSceneManager.h.

uint16 Ogre::SceneManager::mStaticMinDepthLevelDirty
protectedinherited

Minimum depth level at which mNodeMemoryManager[SCENE_STATIC] is dirty.

Remarks
We do an optimization: We know for sure that if node at level N became dirty, we only need to update nodes starting from level N, N+1, N+2, ..., N+n No need to update between level 0, 1, 2, ..., N-1

Definition at line 476 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSuppressRenderStateChanges
protectedinherited

Suppress render state changes?

Definition at line 970 of file OgreSceneManager.h.

VisibleObjectsPerThreadArray Ogre::SceneManager::mTmpVisibleObjects
protectedinherited

mVisibleObjects.

This one is a variable used for temporary storage by (eg.) Instance Managers to cull their internal instanced entities from multiple threads. We do not guarantee that those who acquired our data retain sole ownership; thus extra care may be needed to ensure that no two separate systems request this variable at the same time Retrieve this buffer using

See also
_getTmpVisibleObjectsList

Definition at line 967 of file OgreSceneManager.h.

ObjectMemoryManagerVec const* Ogre::SceneManager::mUpdateBoundsRequest
protectedinherited

Definition at line 942 of file OgreSceneManager.h.

UpdateLodRequest Ogre::SceneManager::mUpdateLodRequest
protectedinherited

Definition at line 940 of file OgreSceneManager.h.

UpdateTransformRequest Ogre::SceneManager::mUpdateTransformRequest
protectedinherited

Definition at line 941 of file OgreSceneManager.h.

UniformScalableTask* Ogre::SceneManager::mUserTask
protectedinherited

Definition at line 945 of file OgreSceneManager.h.

uint32 Ogre::SceneManager::mVisibilityMask
protectedinherited

Visibility mask used to show / hide objects.

Definition at line 920 of file OgreSceneManager.h.

NodeList Ogre::PCZSceneManager::mVisible
protected

List of visible nodes since last _findVisibleObjects()

Definition at line 334 of file OgrePCZSceneManager.h.

FrustumVec Ogre::SceneManager::mVisibleCameras
protectedinherited

Definition at line 506 of file OgreSceneManager.h.

VisibleObjectsPerThreadArray Ogre::SceneManager::mVisibleObjects
protectedinherited

Contains MovableObjects to be visited and rendered.

Declared here to avoid allocating and deallocating every frame. Declared as array of arrays (vector of vectors) for multithreading purposes (put results in one array while another thread stores in the other array). cullFrustum

Definition at line 956 of file OgreSceneManager.h.

VisibleObjectsPerThreadArray Ogre::SceneManager::mVisibleObjectsBackup
protectedinherited

CompositorShadowNode remarks

Definition at line 959 of file OgreSceneManager.h.

ThreadHandleVec Ogre::SceneManager::mWorkerThreads
protectedinherited

Definition at line 948 of file OgreSceneManager.h.

Barrier* Ogre::SceneManager::mWorkerThreadsBarrier
protectedinherited

Definition at line 947 of file OgreSceneManager.h.

uint8 Ogre::SceneManager::mWorldGeometryRenderQueue