OGRE  1.9.0
Ogre::DefaultSceneManager Class Reference

Default scene manager. More...

#include <OgreSceneManagerEnumerator.h>

Inheritance diagram for Ogre::DefaultSceneManager:

Public Types

typedef MapIterator< AnimationListAnimationIterator
 
typedef MapIterator< CameraListCameraIterator
 
enum  IlluminationRenderStage { IRS_NONE , IRS_RENDER_TO_TEXTURE , IRS_RENDER_RECEIVER_PASS }
 Describes the stage of rendering when performing complex illumination. More...
 
typedef MapIterator< MovableObjectMapMovableObjectIterator
 
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...
 

Public Member Functions

 DefaultSceneManager (const String &name)
 
 ~DefaultSceneManager ()
 
void _addDirtyInstanceManager (InstanceManager *dirtyManager)
 Called by an InstanceManager when it has at least one InstanceBatch that needs their bounds to be updated for proper culling.
 
virtual void _applySceneAnimations (void)
 Internal method for applying animations to scene nodes.
 
virtual bool _areRenderStateChangesSuppressed (void) const
 Are render state changes suppressed?
 
virtual bool _areShadowsSuppressed (void) const
 Are shadows suppressed?
 
virtual void _findVisibleObjects (Camera *cam, VisibleObjectsBoundsInfo *visibleBounds, bool onlyShadowCasters)
 Internal method which parses the scene to find visible objects to render.
 
virtual CompositorChain_getActiveCompositorChain () const
 Gets the active compositor chain of the current scene being rendered.
 
uint32 _getCombinedVisibilityMask (void) const
 Internal method for getting the combination between the global visibility mask and the per-viewport visibility mask.
 
IlluminationRenderStage _getCurrentRenderStage ()
 
virtual const LightList_getLightsAffectingFrustum (void) const
 Get the list of lights which could be affecting the frustum.
 
ulong _getLightsDirtyCounter (void) const
 Advance method to gets the lights dirty counter.
 
void _handleLodEvents ()
 Handle LOD events.
 
virtual void _injectRenderWithPass (Pass *pass, Renderable *rend, bool shadowDerivation=true, bool doLightIteration=false, const LightList *manualLightList=0)
 Render something as if it came from the current queue.
 
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.
 
virtual void _notifyAutotrackingSceneNode (SceneNode *node, bool autoTrack)
 Internal method for notifying the manager that a SceneNode is autotracking.
 
void _notifyEntityMaterialLodChanged (EntityMaterialLodChangedEvent &evt)
 Notify that an entity material LOD change event has occurred.
 
void _notifyEntityMeshLodChanged (EntityMeshLodChangedEvent &evt)
 Notify that an entity mesh LOD change event has occurred.
 
virtual void _notifyLightsDirty (void)
 Advance method to increase the lights dirty counter due lights changed.
 
void _notifyMovableObjectLodChanged (MovableObjectLodChangedEvent &evt)
 Notify that a movable object LOD change event has occurred.
 
virtual RenderContext_pauseRendering ()
 Pause rendering of the frame.
 
virtual void _populateLightList (const SceneNode *sn, Real radius, LightList &destList, uint32 lightMask=0xFFFFFFFF)
 Populates a light list with an ordered set of the lights which are closest to the position of the SceneNode given.
 
virtual void _populateLightList (const Vector3 &position, Real radius, LightList &destList, uint32 lightMask=0xFFFFFFFF)
 Populate a light list with an ordered set of the lights which are closest to the position specified.
 
virtual void _queueSkiesForRendering (Camera *cam)
 Internal method for queueing the sky objects with the params as previously set through setSkyBox, setSkyPlane and setSkyDome.
 
virtual void _renderQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render the objects in a given queue group.
 
virtual void _renderScene (Camera *camera, Viewport *vp, bool includeOverlays)
 Prompts the class to send its contents to the renderer.
 
virtual void _renderVisibleObjects (void)
 Sends visible objects found in _findVisibleObjects to the rendering engine.
 
virtual void _resumeRendering (RenderContext *context)
 Resume rendering of the frame.
 
virtual void _setActiveCompositorChain (CompositorChain *chain)
 Sets the active compositor chain of the current scene being rendered.
 
virtual void _setDestinationRenderSystem (RenderSystem *sys)
 Notifies the scene manager of its destination render system.
 
virtual const Pass_setPass (const Pass *pass, bool evenIfSuppressed=false, bool shadowDerivation=true)
 Internal method for setting up the renderstate for a rendering pass.
 
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.
 
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.
 
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.
 
virtual void _suppressRenderStateChanges (bool suppress)
 Indicates to the SceneManager whether it should suppress changing the RenderSystem states when rendering objects.
 
virtual void _suppressShadows (bool suppress)
 Indicates to the SceneManager whether it should suppress the active shadow rendering technique until told otherwise.
 
virtual void _updateSceneGraph (Camera *cam)
 Internal method for updating the scene graph ie the tree of SceneNode instances managed by this class.
 
virtual void addListener (Listener *s)
 Add a listener which will get called back on scene manager events.
 
void addLodListener (LodListener *listener)
 Add a level of detail listener.
 
virtual void addRenderObjectListener (RenderObjectListener *newListener)
 Registers a new Render Object Listener which will be notified when rendering an object.
 
virtual void addRenderQueueListener (RenderQueueListener *newListener)
 Registers a new RenderQueueListener which will be notified when render queues are processed.
 
virtual void addSpecialCaseRenderQueue (uint8 qid)
 Adds an item to the 'special case' render queue list.
 
virtual void clearScene (void)
 Empties the entire scene, inluding all SceneNodes, Entities, Lights, BillboardSets etc.
 
virtual void clearSpecialCaseRenderQueues (void)
 Clears the 'special case' render queue list.
 
virtual AxisAlignedBoxSceneQuerycreateAABBQuery (const AxisAlignedBox &box, uint32 mask=0xFFFFFFFF)
 Creates an AxisAlignedBoxSceneQuery for this scene manager.
 
virtual AnimationcreateAnimation (const String &name, Real length)
 Creates an animation which can be used to animate scene nodes.
 
virtual AnimationStatecreateAnimationState (const String &animName)
 Create an AnimationState object for managing application of animations.
 
virtual BillboardChaincreateBillboardChain ()
 Create a BillboardChain, an object which you can use to render a linked chain of billboards, with a generated name.
 
virtual BillboardChaincreateBillboardChain (const String &name)
 Create a BillboardChain, an object which you can use to render a linked chain of billboards.
 
virtual BillboardSetcreateBillboardSet (const String &name, unsigned int poolSize=20)
 Creates a new BillboardSet for use with this scene manager.
 
virtual BillboardSetcreateBillboardSet (unsigned int poolSize=20)
 Creates a new BillboardSet for use with this scene manager, with a generated name.
 
virtual CameracreateCamera (const String &name)
 Creates a camera to be managed by this scene manager.
 
virtual EntitycreateEntity (const MeshPtr &pMesh)
 Create an Entity (instance of a discrete mesh) with an autogenerated name.
 
virtual EntitycreateEntity (const String &entityName, const MeshPtr &pMesh)
 Create an Entity (instance of a discrete mesh).
 
virtual EntitycreateEntity (const String &entityName, const String &meshName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 Create an Entity (instance of a discrete mesh).
 
virtual EntitycreateEntity (const String &entityName, PrefabType ptype)
 Create an Entity (instance of a discrete mesh) from a range of prefab shapes.
 
virtual EntitycreateEntity (const String &meshName)
 Create an Entity (instance of a discrete mesh) with an autogenerated name.
 
virtual EntitycreateEntity (PrefabType ptype)
 Create an Entity (instance of a discrete mesh) from a range of prefab shapes, generating the name.
 
virtual InstancedEntitycreateInstancedEntity (const String &materialName, const String &managerName)
 Creates an InstancedEntity based on an existing InstanceManager (.
 
virtual InstancedGeometrycreateInstancedGeometry (const String &name)
 Creates a InstancedGeometry instance suitable for use with this SceneManager.
 
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.
 
virtual IntersectionSceneQuerycreateIntersectionQuery (uint32 mask=0xFFFFFFFF)
 Creates an IntersectionSceneQuery for this scene manager.
 
virtual LightcreateLight ()
 Creates a light with a generated name.
 
virtual LightcreateLight (const String &name)
 Creates a light for use in the scene.
 
virtual ManualObjectcreateManualObject ()
 Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface, generating the name.
 
virtual ManualObjectcreateManualObject (const String &name)
 Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface.
 
virtual MovableObjectcreateMovableObject (const String &name, const String &typeName, const NameValuePairList *params=0)
 Create a movable object of the type specified.
 
virtual MovableObjectcreateMovableObject (const String &typeName, const NameValuePairList *params=0)
 Create a movable object of the type specified without a name.
 
virtual ParticleSystemcreateParticleSystem (const String &name, const String &templateName)
 Creates a particle system based on a template.
 
virtual ParticleSystemcreateParticleSystem (const String &name, size_t quota=500, const String &resourceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Create a blank particle system.
 
virtual ParticleSystemcreateParticleSystem (size_t quota=500, const String &resourceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Create a blank particle system with a generated name.
 
virtual PlaneBoundedVolumeListSceneQuerycreatePlaneBoundedVolumeQuery (const PlaneBoundedVolumeList &volumes, uint32 mask=0xFFFFFFFF)
 Creates a PlaneBoundedVolumeListSceneQuery for this scene manager.
 
virtual RaySceneQuerycreateRayQuery (const Ray &ray, uint32 mask=0xFFFFFFFF)
 Creates a RaySceneQuery for this scene manager.
 
virtual RibbonTrailcreateRibbonTrail ()
 Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes, generating the name.
 
virtual RibbonTrailcreateRibbonTrail (const String &name)
 Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes.
 
virtual SceneNodecreateSceneNode (const String &name)
 Creates an instance of a SceneNode with a given name.
 
virtual SceneNodecreateSceneNode (void)
 Creates an instance of a SceneNode.
 
virtual SphereSceneQuerycreateSphereQuery (const Sphere &sphere, uint32 mask=0xFFFFFFFF)
 Creates a SphereSceneQuery for this scene manager.
 
virtual StaticGeometrycreateStaticGeometry (const String &name)
 Creates a StaticGeometry instance suitable for use with this SceneManager.
 
virtual void destroyAllAnimations (void)
 Removes all animations created using this SceneManager.
 
virtual void destroyAllAnimationStates (void)
 Removes all animation states created using this SceneManager.
 
virtual void destroyAllBillboardChains (void)
 Removes & destroys all BillboardChains from the SceneManager.
 
virtual void destroyAllBillboardSets (void)
 Removes & destroys all BillboardSets.
 
virtual void destroyAllCameras (void)
 Removes (and destroys) all cameras from the scene.
 
virtual void destroyAllEntities (void)
 Removes & destroys all Entities.
 
virtual void destroyAllInstancedGeometry (void)
 Remove & destroy all InstancedGeometry instances.
 
virtual void destroyAllInstanceManagers (void)
 
virtual void destroyAllLights (void)
 Removes and destroys all lights in the scene.
 
virtual void destroyAllManualObjects (void)
 Removes & destroys all ManualObjects from the SceneManager.
 
virtual void destroyAllMovableObjects (void)
 Destroy all MovableObjects.
 
virtual void destroyAllMovableObjectsByType (const String &typeName)
 Destroy all MovableObjects of a given type.
 
virtual void destroyAllParticleSystems (void)
 Removes & destroys all ParticleSystems from the SceneManager.
 
virtual void destroyAllRibbonTrails (void)
 Removes & destroys all RibbonTrails from the SceneManager.
 
virtual void destroyAllStaticGeometry (void)
 Remove & destroy all StaticGeometry instances.
 
virtual void destroyAnimation (const String &name)
 Destroys an Animation.
 
virtual void destroyAnimationState (const String &name)
 Destroys an AnimationState.
 
virtual void destroyBillboardChain (BillboardChain *obj)
 Removes & destroys a BillboardChain from the SceneManager.
 
virtual void destroyBillboardChain (const String &name)
 Removes & destroys a BillboardChain from the SceneManager.
 
virtual void destroyBillboardSet (BillboardSet *set)
 Removes & destroys an BillboardSet from the SceneManager.
 
virtual void destroyBillboardSet (const String &name)
 Removes & destroys an BillboardSet from the SceneManager by name.
 
virtual void destroyCamera (Camera *cam)
 Removes a camera from the scene.
 
virtual void destroyCamera (const String &name)
 Removes a camera from the scene.
 
virtual void destroyEntity (const String &name)
 Removes & destroys an Entity from the SceneManager by name.
 
virtual void destroyEntity (Entity *ent)
 Removes & destroys an Entity from the SceneManager.
 
virtual void destroyInstancedEntity (InstancedEntity *instancedEntity)
 Removes an InstancedEntity,.
 
virtual void destroyInstancedGeometry (const String &name)
 Remove & destroy a InstancedGeometry instance.
 
virtual void destroyInstancedGeometry (InstancedGeometry *geom)
 Remove & destroy a InstancedGeometry instance.
 
virtual void destroyInstanceManager (const String &name)
 Destroys an InstanceManager if it was created with createInstanceManager()
 
virtual void destroyInstanceManager (InstanceManager *instanceManager)
 
virtual void destroyLight (const String &name)
 Removes the named light from the scene and destroys it.
 
virtual void destroyLight (Light *light)
 Removes the light from the scene and destroys it based on a pointer.
 
virtual void destroyManualObject (const String &name)
 Removes & destroys a ManualObject from the SceneManager.
 
virtual void destroyManualObject (ManualObject *obj)
 Removes & destroys a ManualObject from the SceneManager.
 
virtual void destroyMovableObject (const String &name, const String &typeName)
 Destroys a MovableObject with the name specified, of the type specified.
 
virtual void destroyMovableObject (MovableObject *m)
 Destroys a MovableObject.
 
virtual void destroyParticleSystem (const String &name)
 Removes & destroys a ParticleSystem from the SceneManager.
 
virtual void destroyParticleSystem (ParticleSystem *obj)
 Removes & destroys a ParticleSystem from the SceneManager.
 
virtual void destroyQuery (SceneQuery *query)
 Destroys a scene query of any type.
 
virtual void destroyRibbonTrail (const String &name)
 Removes & destroys a RibbonTrail from the SceneManager.
 
virtual void destroyRibbonTrail (RibbonTrail *obj)
 Removes & destroys a RibbonTrail from the SceneManager.
 
virtual void destroySceneNode (const String &name)
 Destroys a SceneNode with a given name.
 
virtual void destroySceneNode (SceneNode *sn)
 Destroys a SceneNode.
 
virtual void destroyStaticGeometry (const String &name)
 Remove & destroy a StaticGeometry instance.
 
virtual void destroyStaticGeometry (StaticGeometry *geom)
 Remove & destroy a StaticGeometry instance.
 
virtual size_t estimateWorldGeometry (const String &filename)
 Estimate the number of loading stages required to load the named world geometry.
 
virtual size_t estimateWorldGeometry (DataStreamPtr &stream, const String &typeName=StringUtil::BLANK)
 Estimate the number of loading stages required to load the named world geometry.
 
virtual void extractAllMovableObjectsByType (const String &typeName)
 Extract all injected MovableObjects of a given type.
 
virtual void extractMovableObject (const String &name, const String &typeName)
 Extract a previously injected MovableObject.
 
virtual void extractMovableObject (MovableObject *m)
 Extract a previously injected MovableObject.
 
const ColourValuegetAmbientLight (void) const
 Returns the ambient light level to be used for the scene.
 
virtual AnimationgetAnimation (const String &name) const
 Looks up an Animation object previously created with createAnimation.
 
AnimationIterator getAnimationIterator (void)
 Returns a specialised MapIterator over all animations in the scene.
 
const AnimationListgetAnimations () const
 Returns a const version of the animation list.
 
virtual AnimationStategetAnimationState (const String &animName) const
 Retrieves animation state as previously created using createAnimationState.
 
AnimationStateIterator getAnimationStateIterator (void)
 Returns a specialised MapIterator over all animation states in the scene.
 
virtual BillboardChaingetBillboardChain (const String &name) const
 Retrieves a pointer to the named BillboardChain.
 
virtual BillboardSetgetBillboardSet (const String &name) const
 Retrieves a pointer to the named BillboardSet.
 
virtual CameragetCamera (const String &name) const
 Retrieves a pointer to the named camera.
 
CameraIterator getCameraIterator (void)
 Returns a specialised MapIterator over all cameras in the scene.
 
virtual bool getCameraRelativeRendering () const
 Get whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it.
 
const CameraListgetCameras () const
 Returns a const version of the camera list.
 
ViewportgetCurrentViewport (void) const
 Gets the current viewport being rendered (advanced use only, only valid during viewport update.
 
RenderSystemgetDestinationRenderSystem ()
 Get the rendersystem subclass to which the output of this Scene Manager gets sent.
 
virtual bool getDisplaySceneNodes (void) const
 Returns true if all scene nodes axis are to be displayed.
 
virtual EntitygetEntity (const String &name) const
 Retrieves a pointer to the named Entity.
 
virtual bool getFindVisibleObjects (void)
 Gets whether the SceneManager should search for visible objects, or whether they are being manually handled.
 
virtual bool getFlipCullingOnNegativeScale () const
 Get whether to automatically flip the culling mode on objects whenever they are negatively scaled.
 
virtual const ColourValuegetFogColour (void) const
 Returns the fog colour for the scene.
 
virtual Real getFogDensity (void) const
 Returns the fog density for the scene.
 
virtual Real getFogEnd (void) const
 Returns the fog end distance for the scene.
 
virtual FogMode getFogMode (void) const
 Returns the fog mode for the scene.
 
virtual Real getFogStart (void) const
 Returns the fog start distance for the scene.
 
virtual InstancedGeometrygetInstancedGeometry (const String &name) const
 Retrieve a previously created InstancedGeometry instance.
 
virtual InstanceManagergetInstanceManager (const String &managerName) const
 Retrieves an existing InstanceManager by it's name.
 
virtual LightgetLight (const String &name) const
 Returns a pointer to the named Light which has previously been added to the scene.
 
virtual const PlaneListgetLightClippingPlanes (Light *l)
 Retrieve a set of clipping planes for a given light.
 
virtual const RealRectgetLightScissorRect (Light *l, const Camera *cam)
 Retrieve a scissor rectangle for a given light and camera.
 
virtual ManualObjectgetManualObject (const String &name) const
 Retrieves a pointer to the named ManualObject.
 
virtual MovableObjectgetMovableObject (const String &name, const String &typeName) const
 Get a reference to a previously created MovableObject.
 
virtual MovableObjectIterator getMovableObjectIterator (const String &typeName)
 Get an iterator over all MovableObect instances of a given type.
 
const StringgetName (void) const
 Return the instance name of this SceneManager.
 
virtual bool getNormaliseNormalsOnScale () const
 Get whether to automatically normalise normals on objects whenever they are scaled.
 
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)
 
virtual bool getOption (const String &strKey, void *pDestValue)
 Method for getting the value of an implementation-specific Scene Manager option.
 
virtual bool getOptionKeys (StringVector &refKeys)
 Method for getting all the implementation-specific options of the scene manager.
 
virtual bool getOptionValues (const String &strKey, StringVector &refValueList)
 Method for getting all possible values for a specific option.
 
virtual ParticleSystemgetParticleSystem (const String &name) const
 Retrieves a pointer to the named ParticleSystem.
 
SceneMgrQueuedRenderableVisitorgetQueuedRenderableVisitor (void) const
 Gets the current visitor object which processes queued renderables.
 
virtual RenderQueuegetRenderQueue (void)
 Retrieves the internal render queue, for advanced users only.
 
virtual RibbonTrailgetRibbonTrail (const String &name) const
 Retrieves a pointer to the named RibbonTrail.
 
virtual SceneNodegetRootSceneNode (void)
 Gets the SceneNode at the root of the scene hierarchy.
 
virtual SceneNodegetSceneNode (const String &name) const
 Retrieves a named SceneNode from the scene graph.
 
virtual const ShadowCameraSetupPtrgetShadowCameraSetup () const
 Get the shadow camera setup in use for all lights which don't have their own shadow camera setup.
 
const VisibleObjectsBoundsInfogetShadowCasterBoundsInfo (const Light *light, size_t iteration=0) const
 Returns the shadow caster AAB for a specific light-camera combination.
 
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.
 
virtual const ColourValuegetShadowColour (void) const
 Get the colour used to modulate areas in shadow.
 
virtual Real getShadowDirectionalLightExtrusionDistance (void) const
 Gets the distance a shadow volume is extruded for a directional light.
 
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.
 
virtual Real getShadowFarDistance (void) const
 Gets the default maximum distance away from the camera that shadows will be visible.
 
virtual Real getShadowFarDistanceSquared (void) const
 
virtual size_t getShadowIndexBufferSize (void) const
 Get the size of the shadow index buffer.
 
virtual ShadowTechnique getShadowTechnique (void) const
 Gets the current shadow technique.
 
virtual const TexturePtrgetShadowTexture (size_t shadowIndex)
 Get a reference to the shadow texture currently in use at the given index.
 
ConstShadowTextureConfigIterator getShadowTextureConfigIterator () const
 Get an iterator over the current shadow texture settings.
 
size_t getShadowTextureCount (void) const
 Get the number of the textures allocated for texture based shadows.
 
size_t getShadowTextureCountPerLightType (Light::LightTypes type) const
 Get the number of shadow textures is assigned for the given light type.
 
virtual bool getShadowTextureSelfShadow (void) const
 Gets whether or not texture shadows attempt to self-shadow.
 
virtual bool getShadowUseLightClipPlanes () const
 Gets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering.
 
virtual bool getShowBoundingBoxes () const
 Returns if all bounding boxes of scene nodes are to be displayed.
 
virtual bool getShowDebugShadows (void) const
 Are debug shadows shown?
 
virtual const SkyBoxGenParametersgetSkyBoxGenParameters (void) const
 Get the parameters used to generate the current SkyBox, if any.
 
virtual SceneNodegetSkyBoxNode (void) const
 Get the skybox node, if enabled.
 
virtual const SkyDomeGenParametersgetSkyDomeGenParameters (void) const
 Get the parameters used to generate the current SkyDome, if any.
 
virtual SceneNodegetSkyDomeNode (void) const
 Get the sky dome node, if enabled.
 
virtual const SkyPlaneGenParametersgetSkyPlaneGenParameters (void) const
 Get the parameters used to construct the SkyPlane, if any.
 
virtual SceneNodegetSkyPlaneNode (void) const
 Get the sky plane node, if enabled.
 
virtual SpecialCaseRenderQueueMode getSpecialCaseRenderQueueMode (void)
 Gets the way the special case render queue list is processed.
 
virtual StaticGeometrygetStaticGeometry (const String &name) const
 Retrieve a previously created StaticGeometry instance.
 
virtual ViewPoint getSuggestedViewpoint (bool random=false)
 Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed.
 
const StringgetTypeName (void) const
 Retrieve the type name of this scene manager.
 
virtual uint32 getVisibilityMask (void)
 Gets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible.
 
const VisibleObjectsBoundsInfogetVisibleObjectsBoundsInfo (const Camera *cam) const
 Returns a visibility boundary box for a specific camera.
 
virtual uint8 getWorldGeometryRenderQueue (void)
 Gets the render queue that the world geometry (if any) this SceneManager renders will be associated with.
 
virtual bool hasAnimation (const String &name) const
 Returns whether an animation with the given name exists.
 
virtual bool hasAnimationState (const String &name) const
 Returns whether an animation state with the given name exists.
 
virtual bool hasBillboardChain (const String &name) const
 Returns whether a billboard chain with the given name exists.
 
virtual bool hasBillboardSet (const String &name) const
 Returns whether a billboardset with the given name exists.
 
virtual bool hasCamera (const String &name) const
 Returns whether a camera with the given name exists.
 
virtual bool hasEntity (const String &name) const
 Returns whether an entity with the given name exists.
 
virtual bool hasInstanceManager (const String &managerName) const
 Returns whether an InstanceManager with the given name exists.
 
virtual bool hasLight (const String &name) const
 Returns whether a light with the given name exists.
 
virtual bool hasManualObject (const String &name) const
 Returns whether a manual object with the given name exists.
 
virtual bool hasMovableObject (const String &name, const String &typeName) const
 Returns whether a movable object instance with the given name exists.
 
virtual bool hasOption (const String &strKey) const
 Method for verifying whether the scene manager has an implementation-specific option.
 
virtual bool hasParticleSystem (const String &name) const
 Returns whether a particle system with the given name exists.
 
virtual bool hasRibbonTrail (const String &name) const
 Returns whether a ribbon trail with the given name exists.
 
virtual bool hasSceneNode (const String &name) const
 Returns whether a scene node with the given name exists.
 
virtual bool hasStaticGeometry (const String &name) const
 Returns whether a static geometry instance with the given name exists.
 
virtual void injectMovableObject (MovableObject *m)
 Inject a MovableObject instance created externally.
 
virtual bool isLateMaterialResolving () const
 Gets whether using late material resolving or not.
 
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.
 
virtual bool isShadowTechniqueAdditive (void) const
 Is there an additive shadowing technique in use?
 
virtual bool isShadowTechniqueIntegrated (void) const
 Is the shadow technique integrated into primary materials?
 
virtual bool isShadowTechniqueInUse (void) const
 Is there any shadowing technique in use?
 
virtual bool isShadowTechniqueModulative (void) const
 Is there a modulative shadowing technique in use?
 
virtual bool isShadowTechniqueStencilBased (void) const
 Is there a stencil shadow based shadowing technique in use?
 
virtual bool isShadowTechniqueTextureBased (void) const
 Is there a texture shadow based shadowing technique in use?
 
virtual bool isSkyBoxEnabled (void) const
 Return whether a skybox is enabled.
 
virtual bool isSkyDomeEnabled (void) const
 Return whether a skydome is enabled.
 
virtual bool isSkyPlaneEnabled (void) const
 Return whether a key plane is enabled.
 
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, const LightList *manualLightList=0)
 Manual rendering method for rendering a single object.
 
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.
 
 OGRE_MUTEX (sceneGraphMutex)
 Mutex to protect the scene graph from simultaneous access from multiple threads.
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
virtual void prepareShadowTextures (Camera *cam, Viewport *vp, const LightList *lightList=0)
 Method for preparing shadow textures ready for use in a regular render Do not call manually unless before frame start or rendering is paused If lightList is not supplied, will render all lights in frustum.
 
virtual void prepareWorldGeometry (const String &filename)
 Sets the source of the 'world' geometry, i.e.
 
virtual void prepareWorldGeometry (DataStreamPtr &stream, const String &typeName=StringUtil::BLANK)
 Sets the source of the 'world' geometry, i.e.
 
virtual void removeListener (Listener *s)
 Remove a listener.
 
void removeLodListener (LodListener *listener)
 Remove a level of detail listener.
 
virtual void removeRenderObjectListener (RenderObjectListener *delListener)
 Removes a listener previously added with addRenderObjectListener.
 
virtual void removeRenderQueueListener (RenderQueueListener *delListener)
 Removes a listener previously added with addRenderQueueListener.
 
virtual void removeSpecialCaseRenderQueue (uint8 qid)
 Removes an item to the 'special case' render queue list.
 
void setAmbientLight (const ColourValue &colour)
 Sets the ambient light level to be used for the scene.
 
virtual void setCameraRelativeRendering (bool rel)
 Set whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it.
 
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.
 
virtual void setFindVisibleObjects (bool find)
 Sets whether the SceneManager should search for visible objects, or whether they are being manually handled.
 
virtual void setFlipCullingOnNegativeScale (bool n)
 Set whether to automatically flip the culling mode on objects whenever they are negatively scaled.
 
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.
 
virtual void setLateMaterialResolving (bool isLate)
 Sets whether to use late material resolving or not.
 
virtual void setNormaliseNormalsOnScale (bool n)
 Set whether to automatically normalise normals on objects whenever they are scaled.
 
virtual bool setOption (const String &strKey, const void *pValue)
 Method for setting a specific option of the Scene Manager.
 
void setQueuedRenderableVisitor (SceneMgrQueuedRenderableVisitor *visitor)
 Advanced method for supplying an alternative visitor, used for parsing the render queues and sending the results to the renderer.
 
virtual void setShadowCameraSetup (const ShadowCameraSetupPtr &shadowSetup)
 Set the shadow camera setup to use for all lights which don't have their own shadow camera setup.
 
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.
 
virtual void setShadowColour (const ColourValue &colour)
 Set the colour used to modulate areas in shadow.
 
virtual void setShadowDirectionalLightExtrusionDistance (Real dist)
 Sets the distance a shadow volume is extruded for a directional light.
 
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.
 
virtual void setShadowFarDistance (Real distance)
 Sets the default maximum distance away from the camera that shadows will be visible.
 
virtual void setShadowIndexBufferSize (size_t size)
 Sets the maximum size of the index buffer used to render shadow primitives.
 
virtual void setShadowTechnique (ShadowTechnique technique)
 Sets the general shadow technique to be used in this scene.
 
virtual void setShadowTextureCasterMaterial (const String &name)
 Sets the default material to use for rendering shadow casters.
 
virtual void setShadowTextureConfig (size_t shadowIndex, const ShadowTextureConfig &config)
 Set the detailed configuration for a shadow texture.
 
virtual void setShadowTextureConfig (size_t shadowIndex, unsigned short width, unsigned short height, PixelFormat format, unsigned short fsaa=0, uint16 depthBufferPoolId=1)
 Set the detailed configuration for a shadow texture.
 
virtual void setShadowTextureCount (size_t count)
 Set the number of textures allocated for texture-based shadows.
 
void setShadowTextureCountPerLightType (Light::LightTypes type, size_t count)
 Set the number of shadow textures a light type uses.
 
virtual void setShadowTextureFadeEnd (Real fadeEnd)
 Sets the proportional distance at which texture shadows finish to fading out.
 
virtual void setShadowTextureFadeStart (Real fadeStart)
 Sets the proportional distance at which texture shadows begin to fade out.
 
virtual void setShadowTextureFSAA (unsigned short fsaa)
 Set the level of multisample AA of the textures used for texture-based shadows.
 
virtual void setShadowTexturePixelFormat (PixelFormat fmt)
 Set the pixel format of the textures used for texture-based shadows.
 
virtual void setShadowTextureReceiverMaterial (const String &name)
 Sets the default material to use for rendering shadow receivers.
 
virtual void setShadowTextureSelfShadow (bool selfShadow)
 Sets whether or not texture shadows should attempt to self-shadow.
 
virtual void setShadowTextureSettings (unsigned short size, unsigned short count, PixelFormat fmt=PF_X8R8G8B8, unsigned short fsaa=0, uint16 depthBufferPoolId=1)
 Sets the size and count of textures used in texture-based shadows.
 
virtual void setShadowTextureSize (unsigned short size)
 Set the size of the texture used for all texture-based shadows.
 
virtual void setShadowUseInfiniteFarPlane (bool enable)
 Sets whether we should use an inifinite camera far plane when rendering stencil shadows.
 
virtual void setShadowUseLightClipPlanes (bool enabled)
 Sets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering.
 
virtual void setShowDebugShadows (bool debug)
 Enables / disables the rendering of debug information for shadows.
 
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.
 
virtual void setSkyBoxEnabled (bool enable)
 Enables / disables a 'sky box'.
 
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.
 
virtual void setSkyDomeEnabled (bool enable)
 Enables / disables a 'sky dome'.
 
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.
 
virtual void setSkyPlaneEnabled (bool enable)
 Enables / disables a 'sky plane'.
 
virtual void setSpecialCaseRenderQueueMode (SpecialCaseRenderQueueMode mode)
 Sets the way the special case render queue list is processed.
 
virtual void setVisibilityMask (uint32 vmask)
 Sets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible.
 
virtual void setWorldGeometry (const String &filename)
 Sets the source of the 'world' geometry, i.e.
 
virtual void setWorldGeometry (DataStreamPtr &stream, const String &typeName=StringUtil::BLANK)
 Sets the source of the 'world' geometry, i.e.
 
virtual void setWorldGeometryRenderQueue (uint8 qid)
 Sets the render queue that the world geometry (if any) this SceneManager renders will be associated with.
 
virtual void showBoundingBoxes (bool bShow)
 Allows all bounding boxes of scene nodes to be displayed.
 

Static Public Attributes

static uint32 ENTITY_TYPE_MASK
 Query type mask which will be used for entities.
 
static uint32 FRUSTUM_TYPE_MASK
 Query type mask which will be used for frusta and cameras.
 
static uint32 FX_TYPE_MASK
 Query type mask which will be used for effects like billboardsets / particle systems.
 
static uint32 LIGHT_TYPE_MASK
 Query type mask which will be used for lights.
 
static uint32 STATICGEOMETRY_TYPE_MASK
 Query type mask which will be used for StaticGeometry.
 
static uint32 USER_TYPE_MASK_LIMIT
 User type mask limit.
 
static uint32 WORLD_GEOMETRY_TYPE_MASK
 Query type mask which will be used for world geometry.
 

Protected Types

typedef map< String, Animation * >::type AnimationList
 Storage of animations, lookup by name.
 
typedef set< SceneNode * >::type AutoTrackingSceneNodes
 Autotracking scene nodes.
 
enum  BoxPlane {
  BP_FRONT = 0 , BP_BACK = 1 , BP_LEFT = 2 , BP_RIGHT = 3 ,
  BP_UP = 4 , BP_DOWN = 5
}
 
typedef map< String, Camera * >::type CameraList
 
typedef map< constCamera *, VisibleObjectsBoundsInfo >::type CamVisibleObjectsMap
 Visible objects bounding box list.
 
typedef vector< EntityMaterialLodChangedEvent >::type EntityMaterialLodChangedEventList
 List of entity material LOD changed events.
 
typedef vector< EntityMeshLodChangedEvent >::type EntityMeshLodChangedEventList
 List of entity mesh LOD changed events.
 
typedef map< String, InstancedGeometry * >::type InstancedGeometryList
 
typedef map< String, InstanceManager * >::type InstanceManagerMap
 
typedef vector< InstanceManager * >::type InstanceManagerVec
 
typedef map< Light *, LightClippingInfo >::type LightClippingInfoMap
 
typedef vector< LightInfo >::type LightInfoList
 
typedef vector< Listener * >::type ListenerList
 
typedef set< LodListener * >::type LodListenerSet
 Set of registered LOD listeners.
 
typedef map< String, MovableObjectCollection * >::type MovableObjectCollectionMap
 
typedef vector< MovableObjectLodChangedEvent >::type MovableObjectLodChangedEventList
 List of movable object LOD changed events.
 
typedef map< String, MovableObject * >::type MovableObjectMap
 
typedef vector< RenderObjectListener * >::type RenderObjectListenerList
 
typedef vector< RenderQueueListener * >::type RenderQueueListenerList
 
typedef map< String, SceneNode * >::type SceneNodeList
 
typedef map< constCamera *, constLight * >::type ShadowCamLightMapping
 ShadowCamera to light mapping.
 
typedef vector< ShadowCaster * >::type ShadowCasterList
 
typedef vector< Camera * >::type ShadowTextureCameraList
 
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.
 
virtual ClipResult buildAndSetScissor (const LightList &ll, const Camera *cam)
 Set up a scissor rectangle from a group of lights.
 
virtual void buildLightClip (const Light *l, PlaneList &planes)
 
virtual void buildScissor (const Light *l, const Camera *cam, RealRect &rect)
 Update a scissor rectangle from a single light.
 
virtual void checkCachedLightClippingInfo ()
 
virtual AutoParamDataSourcecreateAutoParamDataSource (void) const
 Internal method for creating the AutoParamDataSource instance.
 
virtual SceneNodecreateSceneNodeImpl (const String &name)
 Subclasses can override this to ensure their specialised SceneNode is used.
 
virtual SceneNodecreateSceneNodeImpl (void)
 Subclasses can override this to ensure their specialised SceneNode is used.
 
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)
 
virtual const PassderiveShadowCasterPass (const Pass *pass)
 Internal method for turning a regular pass into a shadow caster pass.
 
virtual const PassderiveShadowReceiverPass (const Pass *pass)
 Internal method for turning a regular pass into a shadow receiver pass.
 
virtual void destroyShadowTextures (void)
 Internal method for destroying shadow textures (texture-based shadows)
 
virtual void ensureShadowTexturesCreated ()
 Internal method for creating shadow textures (texture-based shadows)
 
virtual void findLightsAffectingFrustum (const Camera *camera)
 Internal method for locating a list of lights which could be affecting the frustum.
 
virtual const ShadowCasterListfindShadowCastersForLight (const Light *light, const Camera *camera)
 Internal method for locating a list of shadow casters which could be affecting the frustum for a given light.
 
virtual void firePostFindVisibleObjects (Viewport *v)
 Internal method for firing find visible objects event.
 
virtual void firePostRenderQueues ()
 Internal method for firing the queue end event.
 
virtual void firePostUpdateSceneGraph (Camera *camera)
 Internal method for firing post update scene graph event.
 
virtual void firePreFindVisibleObjects (Viewport *v)
 Internal method for firing find visible objects event.
 
virtual void firePreRenderQueues ()
 Internal method for firing the queue start event.
 
virtual void firePreUpdateSceneGraph (Camera *camera)
 Internal method for firing pre update scene graph event.
 
virtual bool fireRenderQueueEnded (uint8 id, const String &invocation)
 Internal method for firing the queue end event, returns true if queue is to be repeated.
 
virtual bool fireRenderQueueStarted (uint8 id, const String &invocation)
 Internal method for firing the queue start event, returns true if queue is to be skipped.
 
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.
 
virtual void fireSceneManagerDestroyed ()
 Internal method for firing destruction event.
 
virtual void fireShadowTexturesPreCaster (Light *light, Camera *camera, size_t iteration)
 Internal method for firing the pre caster texture shadows event.
 
virtual void fireShadowTexturesPreReceiver (Light *light, Frustum *f)
 Internal method for firing the pre receiver texture shadows event.
 
virtual void fireShadowTexturesUpdated (size_t numberOfShadowTextures)
 Internal method for firing the texture shadows updated event.
 
MovableObjectCollectiongetMovableObjectCollection (const String &typeName)
 Gets the movable object collection for the given type name.
 
const MovableObjectCollectiongetMovableObjectCollection (const String &typeName) const
 Gets the movable object collection for the given type name.
 
virtual void initRenderQueue (void)
 Internal method for initialising the render queue.
 
virtual void initShadowVolumeMaterials (void)
 Internal method for setting up materials for shadows.
 
 OGRE_MUTEX (mAnimationsListMutex)
 
 OGRE_MUTEX (mMovableObjectCollectionMapMutex)
 Mutex over the collection of MovableObject types.
 
virtual void prepareRenderQueue (void)
 Internal method for preparing the render queue for use with each render.
 
virtual void renderAdditiveStencilShadowedQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render a group with the added complexity of additive stencil shadows.
 
virtual void renderAdditiveTextureShadowedQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render a group with additive texture shadows.
 
virtual void renderBasicQueueGroupObjects (RenderQueueGroup *pGroup, QueuedRenderableCollection::OrganisationMode om)
 Render a group in the ordinary way.
 
virtual void renderModulativeStencilShadowedQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render a group with the added complexity of modulative stencil shadows.
 
virtual void renderModulativeTextureShadowedQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render a group with the added complexity of modulative texture shadows.
 
virtual void renderObjects (const QueuedRenderableCollection &objs, QueuedRenderableCollection::OrganisationMode om, bool lightScissoringClipping, bool doLightIteration, const LightList *manualLightList=0)
 Render a set of objects, see renderSingleObject for param definitions.
 
void renderShadowVolumeObjects (ShadowCaster::ShadowRenderableListIterator iShadowRenderables, Pass *pass, const LightList *manualLightList, unsigned long flags, bool secondpass, bool zfail, bool twosided)
 Render a set of shadow renderables.
 
virtual void renderShadowVolumesToStencil (const Light *light, const Camera *cam, bool calcScissor)
 Internal method for rendering all the objects for a given light into the stencil buffer.
 
virtual void renderSingleObject (Renderable *rend, const Pass *pass, bool lightScissoringClipping, bool doLightIteration, const LightList *manualLightList=0)
 Internal utility method for rendering a single object.
 
virtual void renderTextureShadowCasterQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render a group rendering only shadow casters.
 
virtual void renderTextureShadowReceiverQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render a group rendering only shadow receivers.
 
virtual void renderTransparentShadowCasterObjects (const QueuedRenderableCollection &objs, QueuedRenderableCollection::OrganisationMode om, bool lightScissoringClipping, bool doLightIteration, const LightList *manualLightList=0)
 Render those objects in the transparent pass list which have shadow casting forced on.
 
virtual void renderVisibleObjectsCustomSequence (RenderQueueInvocationSequence *s)
 Internal method for rendering all objects using a custom queue sequence.
 
virtual void renderVisibleObjectsDefaultSequence (void)
 Internal method for rendering all objects using the default queue sequence.
 
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.
 
virtual void setShadowVolumeStencilState (bool secondpass, bool zfail, bool twosided)
 Internal utility method for setting stencil state for rendering shadow volumes.
 
virtual void setViewMatrix (const Matrix4 &m)
 
virtual void setViewport (Viewport *vp)
 Internal method for setting the destination viewport for the next render.
 
void updateDirtyInstanceManagers (void)
 Updates all instance managaers with dirty instance batches.
 
virtual void updateGpuProgramParameters (const Pass *p)
 
virtual void updateRenderQueueGroupSplitOptions (RenderQueueGroup *group, bool suppressShadows, bool suppressRenderState)
 Update the state of the render queue group splitting based on a shadow option change.
 
virtual void updateRenderQueueSplitOptions (void)
 Update the state of the global render queue splitting based on a shadow option change.
 
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.
 
virtual bool validatePassForRendering (const Pass *pass)
 Internal method to validate whether a Pass should be allowed to render.
 
virtual bool validateRenderableForRendering (const Pass *pass, const Renderable *rend)
 Internal method to validate whether a Renderable should be allowed to render.
 

Protected Attributes

CompositorChainmActiveCompositorChain
 
SceneMgrQueuedRenderableVisitormActiveQueuedRenderableVisitor
 The active renderable visitor class - subclasses could override this.
 
ColourValue mAmbientLight
 Current ambient light, cached for RenderSystem.
 
AnimationList mAnimationsList
 
AnimationStateSet mAnimationStates
 
AutoParamDataSourcemAutoParamDataSource
 Utility class for calculating automatic parameters for gpu programs.
 
AutoTrackingSceneNodes mAutoTrackingSceneNodes
 
LightInfoList mCachedLightInfos
 
Matrix4 mCachedViewMatrix
 
CameramCameraInProgress
 Camera in progress.
 
Vector3 mCameraRelativePosition
 
bool mCameraRelativeRendering
 Whether to use camera-relative rendering.
 
CameraList mCameras
 Central list of cameras - for easy memory management and lookup.
 
CamVisibleObjectsMap mCamVisibleObjectsMap
 
TexturemCurrentShadowTexture
 
ViewportmCurrentViewport
 Current Viewport.
 
bool mDebugShadows
 
SceneMgrQueuedRenderableVisitor mDefaultQueuedRenderableVisitor
 Storage for default renderable visitor.
 
ShadowCameraSetupPtr mDefaultShadowCameraSetup
 default shadow camera setup
 
Real mDefaultShadowFarDist
 
Real mDefaultShadowFarDistSquared
 
RenderSystemmDestRenderSystem
 The rendering system to send the scene to.
 
InstanceManagerVec mDirtyInstanceManagers
 
InstanceManagerVec mDirtyInstanceMgrsTmp
 
bool mDisplayNodes
 Flag indicating whether SceneNodes will be rendered as a set of 3 axes.
 
EntityMaterialLodChangedEventList mEntityMaterialLodChangedEvents
 
EntityMeshLodChangedEventList mEntityMeshLodChangedEvents
 
bool mFindVisibleObjects
 
GpuProgramParametersSharedPtr mFiniteExtrusionParams
 
bool mFlipCullingOnNegativeScale
 
ColourValue mFogColour
 
Real mFogDensity
 
Real mFogEnd
 
FogMode mFogMode
 
Real mFogStart
 
Rectangle2DmFullScreenQuad
 
uint16 mGpuParamsDirty
 Gpu params that need rebinding (mask of GpuParamVariability)
 
IlluminationRenderStage mIlluminationStage
 
GpuProgramParametersSharedPtr mInfiniteExtrusionParams
 
InstancedGeometryList mInstancedGeometryList
 
InstanceManagerMap mInstanceManagerMap
 
unsigned long mLastFrameNumber
 
uint32 mLastLightHash
 Last light sets.
 
uint32 mLastLightHashGpuProgram
 
unsigned short mLastLightLimit
 
bool mLastRenderQueueInvocationCustom
 
bool mLateMaterialResolving
 
LightClippingInfoMap mLightClippingInfoMap
 
unsigned long mLightClippingInfoMapFrameNumber
 
LightList mLightsAffectingFrustum
 
ulong mLightsDirtyCounter
 
ListenerList mListeners
 
LodListenerSet mLodListeners
 
NameGenerator mMovableNameGenerator
 
MovableObjectCollectionMap mMovableObjectCollectionMap
 
MovableObjectLodChangedEventList mMovableObjectLodChangedEvents
 
String mName
 Instance name.
 
bool mNormaliseNormalsOnScale
 
TexturePtr mNullShadowTexture
 
CullingMode mPassCullingMode
 
RenderObjectListenerList mRenderObjectListeners
 
RenderQueuemRenderQueue
 Queue of objects for rendering.
 
RenderQueueListenerList mRenderQueueListeners
 
bool mResetIdentityProj
 
bool mResetIdentityView
 
SceneNodeList mSceneNodes
 Central list of SceneNodes - for easy memory management.
 
SceneNodemSceneRoot
 Root scene node.
 
bool mShadowAdditiveLightClip
 
ShadowCamLightMapping mShadowCamLightMapping
 
AxisAlignedBoxSceneQuerymShadowCasterAABBQuery
 
ShadowCasterList mShadowCasterList
 
PassmShadowCasterPlainBlackPass
 A pass designed to let us render shadow colour on white for texture shadows.
 
ShadowCasterSceneQueryListenermShadowCasterQueryListener
 
bool mShadowCasterRenderBackFaces
 
SphereSceneQuerymShadowCasterSphereQuery
 
ColourValue mShadowColour
 
PassmShadowDebugPass
 
Real mShadowDirLightExtrudeDist
 
HardwareIndexBufferSharedPtr mShadowIndexBuffer
 
size_t mShadowIndexBufferSize
 
size_t mShadowIndexBufferUsedSize
 
bool mShadowMaterialInitDone
 
PassmShadowModulativePass
 
PassmShadowReceiverPass
 A pass designed to let us render shadow receivers for texture shadows.
 
PassmShadowStencilPass
 
ShadowTechnique mShadowTechnique
 
ShadowTextureCameraList mShadowTextureCameras
 
bool mShadowTextureConfigDirty
 
ShadowTextureConfigList mShadowTextureConfigList
 
size_t mShadowTextureCountPerType [3]
 Array defining shadow count per light type.
 
LightList mShadowTextureCurrentCasterLightList
 
GpuProgramParametersSharedPtr mShadowTextureCustomCasterFPParams
 
String mShadowTextureCustomCasterFragmentProgram
 
PassmShadowTextureCustomCasterPass
 
String mShadowTextureCustomCasterVertexProgram
 
GpuProgramParametersSharedPtr mShadowTextureCustomCasterVPParams
 
GpuProgramParametersSharedPtr mShadowTextureCustomReceiverFPParams
 
String mShadowTextureCustomReceiverFragmentProgram
 
PassmShadowTextureCustomReceiverPass
 
String mShadowTextureCustomReceiverVertexProgram
 
GpuProgramParametersSharedPtr mShadowTextureCustomReceiverVPParams
 
Real mShadowTextureFadeEnd
 As a proportion e.g. 0.6.
 
Real mShadowTextureFadeStart
 Proportion of texture offset in view direction e.g. 0.4.
 
vector< size_t >::type mShadowTextureIndexLightList
 Array defining shadow texture index in light list.
 
Real mShadowTextureOffset
 
ShadowTextureList mShadowTextures
 
bool mShadowTextureSelfShadow
 As a proportion e.g. 0.9.
 
bool mShadowUseInfiniteFarPlane
 
bool mShowBoundingBoxes
 Flag that indicates if all of the scene node's bounding boxes should be shown as a wireframe.
 
bool mSkyBoxEnabled
 
SkyBoxGenParameters mSkyBoxGenParameters
 
SceneNodemSkyBoxNode
 
ManualObjectmSkyBoxObj
 
Quaternion mSkyBoxOrientation
 
uint8 mSkyBoxRenderQueue
 
bool mSkyDomeEnabled
 
EntitymSkyDomeEntity [5]
 
SkyDomeGenParameters mSkyDomeGenParameters
 
SceneNodemSkyDomeNode
 
Quaternion mSkyDomeOrientation
 
uint8 mSkyDomeRenderQueue
 
Plane mSkyPlane
 
bool mSkyPlaneEnabled
 
EntitymSkyPlaneEntity
 
SkyPlaneGenParameters mSkyPlaneGenParameters
 
SceneNodemSkyPlaneNode
 
uint8 mSkyPlaneRenderQueue
 
SpecialCaseRenderQueueList mSpecialCaseQueueList
 
SpecialCaseRenderQueueMode mSpecialCaseQueueMode
 
StaticGeometryList mStaticGeometryList
 
bool mSuppressRenderStateChanges
 Suppress render state changes?
 
bool mSuppressShadows
 Suppress shadows?
 
Matrix4 mTempXform [256]
 
LightInfoList mTestLightInfos
 
uint32 mVisibilityMask
 Visibility mask used to show / hide objects.
 
uint8 mWorldGeometryRenderQueue
 

Detailed Description

Default scene manager.

Definition at line 60 of file OgreSceneManagerEnumerator.h.

Member Typedef Documentation

◆ AnimationIterator

◆ AnimationList

Storage of animations, lookup by name.

Definition at line 640 of file OgreSceneManager.h.

◆ AutoTrackingSceneNodes

Autotracking scene nodes.

Definition at line 438 of file OgreSceneManager.h.

◆ CameraIterator

◆ CameraList

map<String,Camera*>::type Ogre::SceneManager::CameraList
protectedinherited

Definition at line 405 of file OgreSceneManager.h.

◆ CamVisibleObjectsMap

Visible objects bounding box list.

Remarks
Holds an ABB for each camera that contains the physical extends of the visible scene elements by each camera. The map is crucial for shadow algorithms which have a focus step to limit the shadow sample distribution to only valid visible scene elements.

Definition at line 497 of file OgreSceneManager.h.

◆ EntityMaterialLodChangedEventList

List of entity material LOD changed events.

Definition at line 1026 of file OgreSceneManager.h.

◆ EntityMeshLodChangedEventList

List of entity mesh LOD changed events.

Definition at line 1022 of file OgreSceneManager.h.

◆ InstancedGeometryList

Definition at line 413 of file OgreSceneManager.h.

◆ InstanceManagerMap

Definition at line 416 of file OgreSceneManager.h.

◆ InstanceManagerVec

Definition at line 801 of file OgreSceneManager.h.

◆ LightClippingInfoMap

Definition at line 766 of file OgreSceneManager.h.

◆ LightInfoList

Definition at line 533 of file OgreSceneManager.h.

◆ ListenerList

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

Definition at line 659 of file OgreSceneManager.h.

◆ LodListenerSet

Set of registered LOD listeners.

Definition at line 1014 of file OgreSceneManager.h.

◆ MovableObjectCollectionMap

◆ MovableObjectIterator

◆ MovableObjectLodChangedEventList

List of movable object LOD changed events.

Definition at line 1018 of file OgreSceneManager.h.

◆ MovableObjectMap

Definition at line 541 of file OgreSceneManager.h.

◆ RenderObjectListenerList

Definition at line 657 of file OgreSceneManager.h.

◆ RenderQueueListenerList

Definition at line 654 of file OgreSceneManager.h.

◆ SceneNodeList

Definition at line 419 of file OgreSceneManager.h.

◆ ShadowCamLightMapping

map<constCamera*,constLight*>::type Ogre::SceneManager::ShadowCamLightMapping
protectedinherited

ShadowCamera to light mapping.

Definition at line 501 of file OgreSceneManager.h.

◆ ShadowCasterList

Definition at line 853 of file OgreSceneManager.h.

◆ ShadowTextureCameraList

Definition at line 750 of file OgreSceneManager.h.

◆ SpecialCaseRenderQueueList

Definition at line 474 of file OgreSceneManager.h.

◆ StaticGeometryList

Definition at line 411 of file OgreSceneManager.h.

Member Enumeration Documentation

◆ BoxPlane

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

Definition at line 609 of file OgreSceneManager.h.

◆ IlluminationRenderStage

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.

IRS_RENDER_RECEIVER_PASS 

Render from shadow texture to receivers stage.

Definition at line 173 of file OgreSceneManager.h.

◆ PrefabType

Prefab shapes available without loading a model.

Note
Minimal implementation at present.
Enumerator
PT_PLANE 
PT_CUBE 
PT_SPHERE 

Definition at line 1373 of file OgreSceneManager.h.

◆ SpecialCaseRenderQueueMode

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 187 of file OgreSceneManager.h.

Constructor & Destructor Documentation

◆ DefaultSceneManager()

Ogre::DefaultSceneManager::DefaultSceneManager ( const String & name)

◆ ~DefaultSceneManager()

Ogre::DefaultSceneManager::~DefaultSceneManager ( )

Member Function Documentation

◆ _addDirtyInstanceManager()

void Ogre::SceneManager::_addDirtyInstanceManager ( InstanceManager * dirtyManager)
inherited

Called by an InstanceManager when it has at least one InstanceBatch that needs their bounds to be updated for proper culling.

Parameters
dirtyManagerThe manager with dirty batches to update

◆ _applySceneAnimations()

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.

◆ _areRenderStateChangesSuppressed()

virtual bool Ogre::SceneManager::_areRenderStateChangesSuppressed ( void ) const
virtualinherited

Are render state changes suppressed?

See also
_suppressRenderStateChanges

Definition at line 3420 of file OgreSceneManager.h.

◆ _areShadowsSuppressed()

virtual bool Ogre::SceneManager::_areShadowsSuppressed ( void ) const
virtualinherited

Are shadows suppressed?

See also
_suppressShadows

Definition at line 3462 of file OgreSceneManager.h.

◆ _findVisibleObjects()

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

Internal method which parses the scene to find visible objects to render.

Remarks
If you're implementing a custom scene manager, this is the most important method to override since it's here you can apply your custom world partitioning scheme. Once you have added the appropriate objects to the render queue, you can let the default SceneManager objects _renderVisibleObjects handle the actual rendering of the objects you pick.
Any visible objects will be added to a rendering queue, which is indexed by material in order to ensure objects with the same material are rendered together to minimise render state changes.

◆ _getActiveCompositorChain()

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

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

Definition at line 3105 of file OgreSceneManager.h.

◆ _getCombinedVisibilityMask()

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

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

◆ _getCurrentRenderStage()

IlluminationRenderStage Ogre::SceneManager::_getCurrentRenderStage ( )
inherited

Definition at line 3551 of file OgreSceneManager.h.

◆ _getLightsAffectingFrustum()

virtual const LightList & Ogre::SceneManager::_getLightsAffectingFrustum ( void ) const
virtualinherited

Get the list of lights which could be affecting the frustum.

Remarks
Note that default implementation of this method returns a cached light list, which is populated when rendering the scene. So by default the list of lights is only available during scene rendering.

◆ _getLightsDirtyCounter()

ulong Ogre::SceneManager::_getLightsDirtyCounter ( void ) const
inherited

Advance method to gets the lights dirty counter.

Remarks
Scene manager tracking lights that affecting the frustum, if changes detected (the changes includes light list itself and the light's position and attenuation range), then increase the lights dirty counter.
When implementing customise lights finding algorithm relied on either SceneManager::_getLightsAffectingFrustum or SceneManager::_populateLightList, might check this value for sure that the light list are really need to re-populate, otherwise, returns cached light list (if exists) for better performance.

Definition at line 1193 of file OgreSceneManager.h.

◆ _handleLodEvents()

void Ogre::SceneManager::_handleLodEvents ( )
inherited

Handle LOD events.

◆ _injectRenderWithPass()

virtual void Ogre::SceneManager::_injectRenderWithPass ( Pass * pass,
Renderable * rend,
bool shadowDerivation = true,
bool doLightIteration = false,
const LightList * manualLightList = 0 )
virtualinherited

Render something as if it came from the current queue.

Parameters
passMaterial pass to use for setting up this quad.
rendRenderable to render
shadowDerivationWhether passes should be replaced with shadow caster / receiver passes

◆ _markGpuParamsDirty()

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.

◆ _notifyAutotrackingSceneNode()

virtual void Ogre::SceneManager::_notifyAutotrackingSceneNode ( SceneNode * node,
bool autoTrack )
virtualinherited

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

◆ _notifyEntityMaterialLodChanged()

void Ogre::SceneManager::_notifyEntityMaterialLodChanged ( EntityMaterialLodChangedEvent & evt)
inherited

Notify that an entity material LOD change event has occurred.

◆ _notifyEntityMeshLodChanged()

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

Notify that an entity mesh LOD change event has occurred.

◆ _notifyLightsDirty()

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

Advance method to increase the lights dirty counter due lights changed.

Remarks
Scene manager tracking lights that affecting the frustum, if changes detected (the changes includes light list itself and the light's position and attenuation range), then increase the lights dirty counter.
For some reason, you can call this method to force whole scene objects re-populate their light list. But near in mind, call to this method will harm performance, so should avoid if possible.

◆ _notifyMovableObjectLodChanged()

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

Notify that a movable object LOD change event has occurred.

◆ _pauseRendering()

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)

◆ _populateLightList() [1/2]

virtual void Ogre::SceneManager::_populateLightList ( const SceneNode * sn,
Real radius,
LightList & destList,
uint32 lightMask = 0xFFFFFFFF )
virtualinherited

Populates a light list with an ordered set of the lights which are closest to the position of the SceneNode given.

Remarks
Note that since directional lights have no position, they are always considered closer than any point lights and as such will always take precedence. This overloaded version will take the SceneNode's position and use the second method to populate the list.
Subclasses of the default SceneManager may wish to take into account other issues such as possible visibility of the light if that information is included in their data structures. This basic scenemanager simply orders by distance, eliminating those lights which are out of range or could not be affecting the frustum (i.e. only the lights returned by SceneManager::_getLightsAffectingFrustum are take into account).

Also note that subclasses of the SceneNode might be used here to provide cached scene related data, accelerating the list population (for example light lists for SceneNodes could be cached inside subclassed SceneNode objects).
The number of items in the list may exceed the maximum number of lights supported by the renderer, but the extraneous ones will never be used. In fact the limit will be imposed by Pass::getMaxSimultaneousLights.
Parameters
snThe SceneNode for which to evaluate the list of lights
radiusThe bounding radius to test
destListList to be populated with ordered set of lights; will be cleared by this method before population.
lightMaskThe mask with which to include / exclude lights

◆ _populateLightList() [2/2]

virtual void Ogre::SceneManager::_populateLightList ( const Vector3 & position,
Real radius,
LightList & destList,
uint32 lightMask = 0xFFFFFFFF )
virtualinherited

Populate a light list with an ordered set of the lights which are closest to the position specified.

Remarks
Note that since directional lights have no position, they are always considered closer than any point lights and as such will always take precedence.
Subclasses of the default SceneManager may wish to take into account other issues such as possible visibility of the light if that information is included in their data structures. This basic scenemanager simply orders by distance, eliminating those lights which are out of range or could not be affecting the frustum (i.e. only the lights returned by SceneManager::_getLightsAffectingFrustum are take into account).
The number of items in the list max exceed the maximum number of lights supported by the renderer, but the extraneous ones will never be used. In fact the limit will be imposed by Pass::getMaxSimultaneousLights.
Parameters
positionThe position at which to evaluate the list of lights
radiusThe bounding radius to test
destListList to be populated with ordered set of lights; will be cleared by this method before population.
lightMaskThe mask with which to include / exclude lights

◆ _queueSkiesForRendering()

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.

◆ _renderQueueGroupObjects()

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

◆ _renderScene()

virtual void Ogre::SceneManager::_renderScene ( Camera * camera,
Viewport * vp,
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, possibly preceded by some sorting, culling or other scene management tasks. 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.
vpThe target viewport
includeOverlaysWhether or not overlay objects should be rendered

◆ _renderVisibleObjects()

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

Sends visible objects found in _findVisibleObjects to the rendering engine.

◆ _resumeRendering()

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

◆ _setActiveCompositorChain()

virtual void Ogre::SceneManager::_setActiveCompositorChain ( CompositorChain * chain)
virtualinherited

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

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

Definition at line 3091 of file OgreSceneManager.h.

◆ _setDestinationRenderSystem()

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.

◆ _setPass()

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

◆ _setSkyBox()

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.

◆ _setSkyDome()

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.

◆ _setSkyPlane()

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 tesselation on the plane to perform per-vertex effects.
groupNameThe name of the resource group to which to assign the plane mesh.

◆ _suppressRenderStateChanges()

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.

◆ _suppressShadows()

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

Indicates to the SceneManager whether it should suppress the active shadow rendering technique until told otherwise.

Remarks
This is a temporary alternative to setShadowTechnique to suppress the rendering of shadows and forcing all processing down the standard rendering path. This is intended for internal use only.
Parameters
suppressIf true, no shadow rendering will occur until this method is called again with a parameter of false.

◆ _updateSceneGraph()

virtual void Ogre::SceneManager::_updateSceneGraph ( Camera * cam)
virtualinherited

Internal method for updating the scene graph ie the tree of SceneNode instances managed by this class.

Remarks
This must be done before issuing objects to the rendering pipeline, since derived transformations from parent nodes are not updated until required. This SceneManager is a basic implementation which simply updates all nodes from the root. This ensures the scene is up to date but requires all the nodes to be updated even if they are not visible. Subclasses could trim this such that only potentially visible nodes are updated.

◆ addListener()

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

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

◆ addLodListener()

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

Add a level of detail listener.

◆ addRenderObjectListener()

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

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


◆ addRenderQueueListener()

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

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

◆ addSpecialCaseRenderQueue()

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.

◆ bindGpuProgram()

virtual void Ogre::SceneManager::bindGpuProgram ( GpuProgram * prog)
protectedvirtualinherited

◆ buildAndSetLightClip()

virtual ClipResult Ogre::SceneManager::buildAndSetLightClip ( const LightList & ll)
protectedvirtualinherited

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

◆ buildAndSetScissor()

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

Set up a scissor rectangle from a group of lights.

◆ buildLightClip()

virtual void Ogre::SceneManager::buildLightClip ( const Light * l,
PlaneList & planes )
protectedvirtualinherited

◆ buildScissor()

virtual void Ogre::SceneManager::buildScissor ( const Light * l,
const Camera * cam,
RealRect & rect )
protectedvirtualinherited

Update a scissor rectangle from a single light.

◆ checkCachedLightClippingInfo()

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

◆ clearScene()

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

Empties the entire scene, inluding all SceneNodes, Entities, Lights, BillboardSets etc.

Cameras are not deleted at this stage since they are still referenced by viewports, which are not destroyed during this process.

◆ clearSpecialCaseRenderQueues()

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

Clears the 'special case' render queue list.

See also
SceneManager::addSpecialCaseRenderQueue

◆ createAABBQuery()

virtual AxisAlignedBoxSceneQuery * Ogre::SceneManager::createAABBQuery ( const AxisAlignedBox & box,
uint32 mask = 0xFFFFFFFF )
virtualinherited

Creates an AxisAlignedBoxSceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for this scene manager, for an axis aligned box region. See SceneQuery and AxisAlignedBoxSceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
boxDetails of the box 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.

◆ createAnimation()

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.

◆ createAnimationState()

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.

◆ createAutoParamDataSource()

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

Internal method for creating the AutoParamDataSource instance.

Definition at line 722 of file OgreSceneManager.h.

References OGRE_NEW.

◆ createBillboardChain() [1/2]

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

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

◆ createBillboardChain() [2/2]

virtual BillboardChain * Ogre::SceneManager::createBillboardChain ( const String & name)
virtualinherited

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

Parameters
nameThe name to be given to the object (must be unique).

◆ createBillboardSet() [1/2]

virtual BillboardSet * Ogre::SceneManager::createBillboardSet ( const String & name,
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
nameThe name to give to this billboard set. Must be unique.
poolSizeThe initial size of the pool of billboards (see BillboardSet for more information)
See also
BillboardSet

◆ createBillboardSet() [2/2]

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

Creates a new BillboardSet for use with this scene manager, with a generated name.

Parameters
poolSizeThe initial size of the pool of billboards (see BillboardSet for more information)
See also
BillboardSet

◆ createCamera()

virtual Camera * Ogre::SceneManager::createCamera ( const String & name)
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.

◆ createEntity() [1/6]

virtual Entity * Ogre::SceneManager::createEntity ( const MeshPtr & pMesh)
virtualinherited

Create an Entity (instance of a discrete mesh) with an autogenerated name.

Parameters
pMeshThe pointer to the Mesh it is to be based on.

◆ createEntity() [2/6]

virtual Entity * Ogre::SceneManager::createEntity ( const String & entityName,
const MeshPtr & pMesh )
virtualinherited

Create an Entity (instance of a discrete mesh).

Parameters
entityNameThe name to be given to the entity (must be unique).
pMeshThe pointer to the Mesh it is to be based on.

◆ createEntity() [3/6]

virtual Entity * Ogre::SceneManager::createEntity ( const String & entityName,
const String & meshName,
const String & groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME )
virtualinherited

Create an Entity (instance of a discrete mesh).

Parameters
entityNameThe name to be given to the entity (must be unique).
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.

◆ createEntity() [4/6]

virtual Entity * Ogre::SceneManager::createEntity ( const String & entityName,
PrefabType ptype )
virtualinherited

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

Parameters
entityNameThe name to be given to the entity (must be unique).
ptypeThe prefab type.

◆ createEntity() [5/6]

virtual Entity * Ogre::SceneManager::createEntity ( const String & meshName)
virtualinherited

Create an Entity (instance of a discrete mesh) with an autogenerated name.

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.

◆ createEntity() [6/6]

virtual Entity * Ogre::SceneManager::createEntity ( PrefabType ptype)
virtualinherited

Create an Entity (instance of a discrete mesh) from a range of prefab shapes, generating the name.

Parameters
ptypeThe prefab type.

◆ createInstancedEntity()

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

◆ createInstancedGeometry()

virtual InstancedGeometry * Ogre::SceneManager::createInstancedGeometry ( const String & name)
virtualinherited

Creates a InstancedGeometry instance suitable for use with this SceneManager.

Remarks
InstancedGeometry is a way of batching up geometry into a more efficient form, and still be able to move it. Please read the InstancedGeometry class documentation for full information.
Parameters
nameThe name to give the new object
Returns
The new InstancedGeometry instance

◆ createInstanceManager()

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
flagsFlags to pass to the InstanceManager
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

◆ createIntersectionQuery()

virtual IntersectionSceneQuery * Ogre::SceneManager::createIntersectionQuery ( uint32 mask = 0xFFFFFFFF)
virtualinherited

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.

◆ createLight() [1/2]

virtual Light * Ogre::SceneManager::createLight ( )
virtualinherited

Creates a light with a generated name.

◆ createLight() [2/2]

virtual Light * Ogre::SceneManager::createLight ( const String & name)
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.

◆ createManualObject() [1/2]

virtual ManualObject * Ogre::SceneManager::createManualObject ( )
virtualinherited

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

◆ createManualObject() [2/2]

virtual ManualObject * Ogre::SceneManager::createManualObject ( const String & name)
virtualinherited

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

Parameters
nameThe name to be given to the object (must be unique).

◆ createMovableObject() [1/2]

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

Create a movable object of the type specified.

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.
Parameters
nameThe name to give the object. Must be unique within type.
typeNameThe type of object to create
paramsOptional name/value pair list to give extra parameters to the created object.

◆ createMovableObject() [2/2]

virtual MovableObject * Ogre::SceneManager::createMovableObject ( const String & typeName,
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
paramsOptional name/value pair list to give extra parameters to the created object.

◆ createParticleSystem() [1/3]

virtual ParticleSystem * Ogre::SceneManager::createParticleSystem ( const String & name,
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
nameThe name to give the new particle system instance.
templateNameThe name of the template to base the new instance on.

◆ createParticleSystem() [2/3]

virtual ParticleSystem * Ogre::SceneManager::createParticleSystem ( const String & name,
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
nameThe name to give the ParticleSystem.
quotaThe maximum number of particles to allow in this system.
resourceGroupThe resource group which will be used to load dependent resources

◆ createParticleSystem() [3/3]

virtual ParticleSystem * Ogre::SceneManager::createParticleSystem ( size_t quota = 500,
const String & resourceGroup = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME )
virtualinherited

Create a blank particle system with a generated name.

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

◆ createPlaneBoundedVolumeQuery()

virtual PlaneBoundedVolumeListSceneQuery * Ogre::SceneManager::createPlaneBoundedVolumeQuery ( const PlaneBoundedVolumeList & volumes,
uint32 mask = 0xFFFFFFFF )
virtualinherited

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.

◆ createRayQuery()

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

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.

◆ createRibbonTrail() [1/2]

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, generating the name.

◆ createRibbonTrail() [2/2]

virtual RibbonTrail * Ogre::SceneManager::createRibbonTrail ( const String & name)
virtualinherited

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

Parameters
nameThe name to be given to the object (must be unique).

◆ createSceneNode() [1/2]

virtual SceneNode * Ogre::SceneManager::createSceneNode ( const String & name)
virtualinherited

Creates an instance of a SceneNode with a given name.

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 a name parameter, which makes the node easier to retrieve directly again later.

◆ createSceneNode() [2/2]

virtual SceneNode * Ogre::SceneManager::createSceneNode ( void )
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.

◆ createSceneNodeImpl() [1/2]

virtual SceneNode * Ogre::SceneManager::createSceneNodeImpl ( const String & name)
protectedvirtualinherited

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

◆ createSceneNodeImpl() [2/2]

virtual SceneNode * Ogre::SceneManager::createSceneNodeImpl ( void )
protectedvirtualinherited

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

◆ createSkyboxPlane()

virtual MeshPtr Ogre::SceneManager::createSkyboxPlane ( BoxPlane bp,
Real distance,
const Quaternion & orientation,
const String & groupName )
protectedvirtualinherited

◆ createSkydomePlane()

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

◆ createSphereQuery()

virtual SphereSceneQuery * Ogre::SceneManager::createSphereQuery ( const Sphere & sphere,
uint32 mask = 0xFFFFFFFF )
virtualinherited

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.

◆ createStaticGeometry()

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

◆ deriveShadowCasterPass()

virtual const Pass * Ogre::SceneManager::deriveShadowCasterPass ( const Pass * pass)
protectedvirtualinherited

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.

◆ deriveShadowReceiverPass()

virtual const Pass * Ogre::SceneManager::deriveShadowReceiverPass ( const Pass * pass)
protectedvirtualinherited

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

Remarks
This is only used for texture shadows, basically we're trying to ensure that objects are rendered with a projective texture. This method will usually return a standard single-texture pass for all fixed function passes, but will merge in a vertex program for passes with vertex programs.

◆ destroyAllAnimations()

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

Removes all animations created using this SceneManager.

◆ destroyAllAnimationStates()

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

Removes all animation states created using this SceneManager.

◆ destroyAllBillboardChains()

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

Removes & destroys all BillboardChains from the SceneManager.

◆ destroyAllBillboardSets()

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

◆ destroyAllCameras()

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, their aren't supposed to destroy outside. So, while you are using texture shadow, don't call this method, or you can set the shadow technique other than texture-based, which will destroy all internal created shadow cameras and textures.

◆ destroyAllEntities()

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

◆ destroyAllInstancedGeometry()

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

Remove & destroy all InstancedGeometry instances.

◆ destroyAllInstanceManagers()

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

◆ destroyAllLights()

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

Removes and destroys all lights in the scene.

◆ destroyAllManualObjects()

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

Removes & destroys all ManualObjects from the SceneManager.

◆ destroyAllMovableObjects()

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

Destroy all MovableObjects.

◆ destroyAllMovableObjectsByType()

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

Destroy all MovableObjects of a given type.

◆ destroyAllParticleSystems()

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

Removes & destroys all ParticleSystems from the SceneManager.

◆ destroyAllRibbonTrails()

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

Removes & destroys all RibbonTrails from the SceneManager.

◆ destroyAllStaticGeometry()

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

Remove & destroy all StaticGeometry instances.

◆ destroyAnimation()

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.

◆ destroyAnimationState()

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.

◆ destroyBillboardChain() [1/2]

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

Removes & destroys a BillboardChain from the SceneManager.

◆ destroyBillboardChain() [2/2]

virtual void Ogre::SceneManager::destroyBillboardChain ( const String & name)
virtualinherited

Removes & destroys a BillboardChain from the SceneManager.

◆ destroyBillboardSet() [1/2]

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.

◆ destroyBillboardSet() [2/2]

virtual void Ogre::SceneManager::destroyBillboardSet ( const String & name)
virtualinherited

Removes & destroys an BillboardSet from the SceneManager by name.

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.

◆ destroyCamera() [1/2]

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

◆ destroyCamera() [2/2]

virtual void Ogre::SceneManager::destroyCamera ( const String & name)
virtualinherited

Removes a camera from the scene.

Remarks
This method removes an camera from the scene based on the camera's name rather than a pointer.

◆ destroyEntity() [1/2]

virtual void Ogre::SceneManager::destroyEntity ( const String & name)
virtualinherited

Removes & destroys an Entity from the SceneManager by name.

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

◆ destroyEntity() [2/2]

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

◆ destroyInstancedEntity()

virtual void Ogre::SceneManager::destroyInstancedEntity ( InstancedEntity * instancedEntity)
virtualinherited

Removes an InstancedEntity,.

See also
SceneManager::createInstancedEntity &
InstanceBatch::removeInstancedEntity
Parameters
instancedEntityInstance to remove

◆ destroyInstancedGeometry() [1/2]

virtual void Ogre::SceneManager::destroyInstancedGeometry ( const String & name)
virtualinherited

Remove & destroy a InstancedGeometry instance.

◆ destroyInstancedGeometry() [2/2]

virtual void Ogre::SceneManager::destroyInstancedGeometry ( InstancedGeometry * geom)
virtualinherited

Remove & destroy a InstancedGeometry instance.

◆ destroyInstanceManager() [1/2]

virtual void Ogre::SceneManager::destroyInstanceManager ( const String & 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

◆ destroyInstanceManager() [2/2]

virtual void Ogre::SceneManager::destroyInstanceManager ( InstanceManager * instanceManager)
virtualinherited

◆ destroyLight() [1/2]

virtual void Ogre::SceneManager::destroyLight ( const String & name)
virtualinherited

Removes the named light from the scene and destroys it.

Remarks
Any pointers held to this light after calling this method will be invalid.

◆ destroyLight() [2/2]

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.

◆ destroyManualObject() [1/2]

virtual void Ogre::SceneManager::destroyManualObject ( const String & name)
virtualinherited

Removes & destroys a ManualObject from the SceneManager.

◆ destroyManualObject() [2/2]

virtual void Ogre::SceneManager::destroyManualObject ( ManualObject * obj)
virtualinherited

Removes & destroys a ManualObject from the SceneManager.

◆ destroyMovableObject() [1/2]

virtual void Ogre::SceneManager::destroyMovableObject ( const String & name,
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.

◆ destroyMovableObject() [2/2]

virtual void Ogre::SceneManager::destroyMovableObject ( MovableObject * m)
virtualinherited

Destroys a MovableObject.

Remarks
The MovableObject will automatically detach itself from any nodes on destruction.

◆ destroyParticleSystem() [1/2]

virtual void Ogre::SceneManager::destroyParticleSystem ( const String & name)
virtualinherited

Removes & destroys a ParticleSystem from the SceneManager.

◆ destroyParticleSystem() [2/2]

virtual void Ogre::SceneManager::destroyParticleSystem ( ParticleSystem * obj)
virtualinherited

Removes & destroys a ParticleSystem from the SceneManager.

◆ destroyQuery()

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

Destroys a scene query of any type.

◆ destroyRibbonTrail() [1/2]

virtual void Ogre::SceneManager::destroyRibbonTrail ( const String & name)
virtualinherited

Removes & destroys a RibbonTrail from the SceneManager.

◆ destroyRibbonTrail() [2/2]

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

Removes & destroys a RibbonTrail from the SceneManager.

◆ destroySceneNode() [1/2]

virtual void Ogre::SceneManager::destroySceneNode ( const String & name)
virtualinherited

Destroys a SceneNode with a given name.

Remarks
This allows you to physically delete an individual SceneNode if you want to. Note that this is not normally recommended, it's better to allow SceneManager to delete the nodes when the scene is cleared.

◆ destroySceneNode() [2/2]

virtual void Ogre::SceneManager::destroySceneNode ( SceneNode * sn)
virtualinherited

Destroys a SceneNode.

Remarks
This allows you to physically delete an individual SceneNode if you want to. Note that this is not normally recommended, it's better to allow SceneManager to delete the nodes when the scene is cleared.

◆ destroyShadowTextures()

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

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

◆ destroyStaticGeometry() [1/2]

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

Remove & destroy a StaticGeometry instance.

◆ destroyStaticGeometry() [2/2]

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

Remove & destroy a StaticGeometry instance.

◆ ensureShadowTexturesCreated()

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

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

◆ estimateWorldGeometry() [1/2]

virtual size_t Ogre::SceneManager::estimateWorldGeometry ( const String & filename)
virtualinherited

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.

Definition at line 1700 of file OgreSceneManager.h.

◆ estimateWorldGeometry() [2/2]

virtual size_t Ogre::SceneManager::estimateWorldGeometry ( DataStreamPtr & stream,
const String & typeName = StringUtil::BLANK )
virtualinherited

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.

Definition at line 1715 of file OgreSceneManager.h.

◆ extractAllMovableObjectsByType()

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.

◆ extractMovableObject() [1/2]

virtual void Ogre::SceneManager::extractMovableObject ( const String & name,
const String & typeName )
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.

◆ extractMovableObject() [2/2]

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.

◆ findLightsAffectingFrustum()

virtual void Ogre::SceneManager::findLightsAffectingFrustum ( const Camera * camera)
protectedvirtualinherited

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.

◆ findShadowCastersForLight()

virtual const ShadowCasterList & Ogre::SceneManager::findShadowCastersForLight ( const Light * light,
const Camera * camera )
protectedvirtualinherited

Internal method for locating a list of shadow casters which could be affecting the frustum for a given light.

Remarks
Custom scene managers are encouraged to override this method to add optimisations, and to add their own custom shadow casters (perhaps for world geometry)

◆ firePostFindVisibleObjects()

virtual void Ogre::SceneManager::firePostFindVisibleObjects ( Viewport * v)
protectedvirtualinherited

Internal method for firing find visible objects event.

◆ firePostRenderQueues()

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

Internal method for firing the queue end event.

◆ firePostUpdateSceneGraph()

virtual void Ogre::SceneManager::firePostUpdateSceneGraph ( Camera * camera)
protectedvirtualinherited

Internal method for firing post update scene graph event.

◆ firePreFindVisibleObjects()

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

Internal method for firing find visible objects event.

◆ firePreRenderQueues()

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

Internal method for firing the queue start event.

◆ firePreUpdateSceneGraph()

virtual void Ogre::SceneManager::firePreUpdateSceneGraph ( Camera * camera)
protectedvirtualinherited

Internal method for firing pre update scene graph event.

◆ fireRenderQueueEnded()

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.

◆ fireRenderQueueStarted()

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.

◆ fireRenderSingleObject()

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.

◆ fireSceneManagerDestroyed()

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

Internal method for firing destruction event.

◆ fireShadowTexturesPreCaster()

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

Internal method for firing the pre caster texture shadows event.

◆ fireShadowTexturesPreReceiver()

virtual void Ogre::SceneManager::fireShadowTexturesPreReceiver ( Light * light,
Frustum * f )
protectedvirtualinherited

Internal method for firing the pre receiver texture shadows event.

◆ fireShadowTexturesUpdated()

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

Internal method for firing the texture shadows updated event.

◆ getAmbientLight()

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

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

◆ getAnimation()

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

◆ getAnimationIterator()

AnimationIterator Ogre::SceneManager::getAnimationIterator ( void )
inherited

Returns a specialised MapIterator over all animations in the scene.

Definition at line 2662 of file OgreSceneManager.h.

◆ getAnimations()

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

Returns a const version of the animation list.

Definition at line 2667 of file OgreSceneManager.h.

◆ getAnimationState()

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

◆ getAnimationStateIterator()

AnimationStateIterator Ogre::SceneManager::getAnimationStateIterator ( void )
inherited

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

Definition at line 2669 of file OgreSceneManager.h.

References Ogre::AnimationStateSet::getAnimationStateIterator().

◆ getBillboardChain()

virtual BillboardChain * Ogre::SceneManager::getBillboardChain ( const String & name) const
virtualinherited

Retrieves a pointer to the named BillboardChain.

Note
Throws an exception if the named instance does not exist

◆ getBillboardSet()

virtual BillboardSet * Ogre::SceneManager::getBillboardSet ( const String & name) const
virtualinherited

Retrieves a pointer to the named BillboardSet.

Note
Throws an exception if the named instance does not exist

◆ getCamera()

virtual Camera * Ogre::SceneManager::getCamera ( const String & name) const
virtualinherited

Retrieves a pointer to the named camera.

Note
Throws an exception if the named instance does not exist

◆ getCameraIterator()

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

Returns a specialised MapIterator over all cameras in the scene.

Definition at line 2655 of file OgreSceneManager.h.

◆ getCameraRelativeRendering()

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

Get whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it.

Definition at line 3526 of file OgreSceneManager.h.

◆ getCameras()

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

Returns a const version of the camera list.

Definition at line 2660 of file OgreSceneManager.h.

◆ getCurrentViewport()

Viewport * Ogre::SceneManager::getCurrentViewport ( void ) const
inherited

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

Definition at line 3499 of file OgreSceneManager.h.

◆ getDestinationRenderSystem()

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

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

◆ getDisplaySceneNodes()

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

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

Definition at line 2332 of file OgreSceneManager.h.

◆ getEntity()

virtual Entity * Ogre::SceneManager::getEntity ( const String & name) const
virtualinherited

Retrieves a pointer to the named Entity.

Note
Throws an exception if the named instance does not exist

◆ getFindVisibleObjects()

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

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

Definition at line 3357 of file OgreSceneManager.h.

◆ getFlipCullingOnNegativeScale()

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

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

Definition at line 3387 of file OgreSceneManager.h.

◆ getFogColour()

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

Returns the fog colour for the scene.

◆ getFogDensity()

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

Returns the fog density for the scene.

◆ getFogEnd()

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

Returns the fog end distance for the scene.

◆ getFogMode()

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

Returns the fog mode for the scene.

◆ getFogStart()

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

Returns the fog start distance for the scene.

◆ getInstancedGeometry()

virtual InstancedGeometry * Ogre::SceneManager::getInstancedGeometry ( const String & name) const
virtualinherited

Retrieve a previously created InstancedGeometry instance.

◆ getInstanceManager()

virtual InstanceManager * Ogre::SceneManager::getInstanceManager ( const String & managerName) const
virtualinherited

Retrieves an existing InstanceManager by it's name.

Note
Throws an exception if the named InstanceManager does not exist

◆ getLight()

virtual Light * Ogre::SceneManager::getLight ( const String & name) const
virtualinherited

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

◆ getLightClippingPlanes()

virtual const PlaneList & Ogre::SceneManager::getLightClippingPlanes ( Light * l)
virtualinherited

Retrieve a set of clipping planes for a given light.

◆ getLightScissorRect()

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

Retrieve a scissor rectangle for a given light and camera.

◆ getManualObject()

virtual ManualObject * Ogre::SceneManager::getManualObject ( const String & name) const
virtualinherited

Retrieves a pointer to the named ManualObject.

Note
Throws an exception if the named instance does not exist

◆ getMovableObject()

virtual MovableObject * Ogre::SceneManager::getMovableObject ( const String & name,
const String & typeName ) const
virtualinherited

Get a reference to a previously created MovableObject.

Note
Throws an exception if the named instance does not exist

◆ getMovableObjectCollection() [1/2]

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.

◆ getMovableObjectCollection() [2/2]

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.

◆ getMovableObjectIterator()

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.

◆ getName()

const String & Ogre::SceneManager::getName ( void ) const
inherited

Return the instance name of this SceneManager.

Definition at line 1067 of file OgreSceneManager.h.

◆ getNormaliseNormalsOnScale()

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

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

Definition at line 3372 of file OgreSceneManager.h.

◆ getNumInstancesPerBatch()

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

◆ getOption()

virtual bool Ogre::SceneManager::getOption ( const String & strKey,
void * pDestValue )
virtualinherited

Method for getting the value of an implementation-specific Scene Manager option.

Parameters
strKeyThe name of the option
pDestValueA pointer to a memory location where the value will be copied. Currently, the memory will be allocated by the scene manager, but this may change
Returns
On success, true is returned and pDestValue points to the value of the given option.
On failure, false is returned and pDestValue is set to NULL.

Definition at line 1764 of file OgreSceneManager.h.

◆ getOptionKeys()

virtual bool Ogre::SceneManager::getOptionKeys ( StringVector & refKeys)
virtualinherited

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.

Definition at line 1802 of file OgreSceneManager.h.

◆ getOptionValues()

virtual bool Ogre::SceneManager::getOptionValues ( const String & strKey,
StringVector & refValueList )
virtualinherited

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.

Definition at line 1793 of file OgreSceneManager.h.

◆ getParticleSystem()

virtual ParticleSystem * Ogre::SceneManager::getParticleSystem ( const String & name) const
virtualinherited

Retrieves a pointer to the named ParticleSystem.

Note
Throws an exception if the named instance does not exist

◆ getQueuedRenderableVisitor()

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

Gets the current visitor object which processes queued renderables.

◆ getRenderQueue()

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.

◆ getRibbonTrail()

virtual RibbonTrail * Ogre::SceneManager::getRibbonTrail ( const String & name) const
virtualinherited

Retrieves a pointer to the named RibbonTrail.

Note
Throws an exception if the named instance does not exist

◆ getRootSceneNode()

virtual SceneNode * Ogre::SceneManager::getRootSceneNode ( void )
virtualinherited

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.

◆ getSceneNode()

virtual SceneNode * Ogre::SceneManager::getSceneNode ( const String & name) const
virtualinherited

Retrieves a named SceneNode from the scene graph.

Remarks
If you chose to name a SceneNode as you created it, or if you happened to make a note of the generated name, you can look it up wherever it is in the scene graph using this method.
Note
Throws an exception if the named instance does not exist

◆ getShadowCameraSetup()

virtual const ShadowCameraSetupPtr & Ogre::SceneManager::getShadowCameraSetup ( ) const
virtualinherited

Get the shadow camera setup in use for all lights which don't have their own shadow camera setup.

See also
ShadowCameraSetup

◆ getShadowCasterBoundsInfo()

const VisibleObjectsBoundsInfo & Ogre::SceneManager::getShadowCasterBoundsInfo ( const Light * light,
size_t iteration = 0 ) const
inherited

Returns the shadow caster AAB for a specific light-camera combination.

◆ getShadowCasterRenderBackFaces()

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

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

Definition at line 3008 of file OgreSceneManager.h.

◆ getShadowColour()

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.

◆ getShadowDirectionalLightExtrusionDistance()

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

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

◆ getShadowDirLightTextureOffset()

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

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 2912 of file OgreSceneManager.h.

◆ getShadowFarDistance()

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

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

Definition at line 2764 of file OgreSceneManager.h.

◆ getShadowFarDistanceSquared()

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

Definition at line 2766 of file OgreSceneManager.h.

◆ getShadowIndexBufferSize()

virtual size_t Ogre::SceneManager::getShadowIndexBufferSize ( void ) const
virtualinherited

Get the size of the shadow index buffer.

Definition at line 2796 of file OgreSceneManager.h.

◆ getShadowTechnique()

virtual ShadowTechnique Ogre::SceneManager::getShadowTechnique ( void ) const
virtualinherited

Gets the current shadow technique.

Definition at line 2708 of file OgreSceneManager.h.

◆ getShadowTexture()

virtual const TexturePtr & Ogre::SceneManager::getShadowTexture ( size_t shadowIndex)
virtualinherited

Get a reference to the shadow texture currently in use at the given index.

Note
If you change shadow settings, this reference may no longer be correct, so be sure not to hold the returned reference over texture shadow configuration changes.

◆ getShadowTextureConfigIterator()

ConstShadowTextureConfigIterator Ogre::SceneManager::getShadowTextureConfigIterator ( ) const
inherited

Get an iterator over the current shadow texture settings.

◆ getShadowTextureCount()

size_t Ogre::SceneManager::getShadowTextureCount ( void ) const
inherited

Get the number of the textures allocated for texture based shadows.

Definition at line 2859 of file OgreSceneManager.h.

◆ getShadowTextureCountPerLightType()

size_t Ogre::SceneManager::getShadowTextureCountPerLightType ( Light::LightTypes type) const
inherited

Get the number of shadow textures is assigned for the given light type.

Definition at line 2873 of file OgreSceneManager.h.

◆ getShadowTextureSelfShadow()

virtual bool Ogre::SceneManager::getShadowTextureSelfShadow ( void ) const
virtualinherited

Gets whether or not texture shadows attempt to self-shadow.

Definition at line 2947 of file OgreSceneManager.h.

◆ getShadowUseLightClipPlanes()

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

Gets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering.

Definition at line 3086 of file OgreSceneManager.h.

◆ getShowBoundingBoxes()

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

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

◆ getShowDebugShadows()

virtual bool Ogre::SceneManager::getShowDebugShadows ( void ) const
virtualinherited

Are debug shadows shown?

Definition at line 2713 of file OgreSceneManager.h.

◆ getSkyBoxGenParameters()

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

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

Definition at line 2084 of file OgreSceneManager.h.

◆ getSkyBoxNode()

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

Get the skybox node, if enabled.

Definition at line 2081 of file OgreSceneManager.h.

◆ getSkyDomeGenParameters()

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

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

Definition at line 2211 of file OgreSceneManager.h.

◆ getSkyDomeNode()

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

Get the sky dome node, if enabled.

Definition at line 2208 of file OgreSceneManager.h.

◆ getSkyPlaneGenParameters()

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

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

Definition at line 1989 of file OgreSceneManager.h.

◆ getSkyPlaneNode()

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

Get the sky plane node, if enabled.

Definition at line 1986 of file OgreSceneManager.h.

◆ getSpecialCaseRenderQueueMode()

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

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

◆ getStaticGeometry()

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

◆ getSuggestedViewpoint()

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.

◆ getTypeName()

const String & Ogre::DefaultSceneManager::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.

◆ getVisibilityMask()

virtual uint32 Ogre::SceneManager::getVisibilityMask ( void )
virtualinherited

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

Definition at line 3339 of file OgreSceneManager.h.

◆ getVisibleObjectsBoundsInfo()

const VisibleObjectsBoundsInfo & Ogre::SceneManager::getVisibleObjectsBoundsInfo ( const Camera * cam) const
inherited

Returns a visibility boundary box for a specific camera.

◆ getWorldGeometryRenderQueue()

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.

◆ hasAnimation()

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

Returns whether an animation with the given name exists.

◆ hasAnimationState()

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

Returns whether an animation state with the given name exists.

◆ hasBillboardChain()

virtual bool Ogre::SceneManager::hasBillboardChain ( const String & name) const
virtualinherited

Returns whether a billboard chain with the given name exists.

◆ hasBillboardSet()

virtual bool Ogre::SceneManager::hasBillboardSet ( const String & name) const
virtualinherited

Returns whether a billboardset with the given name exists.

◆ hasCamera()

virtual bool Ogre::SceneManager::hasCamera ( const String & name) const
virtualinherited

Returns whether a camera with the given name exists.

◆ hasEntity()

virtual bool Ogre::SceneManager::hasEntity ( const String & name) const
virtualinherited

Returns whether an entity with the given name exists.

◆ hasInstanceManager()

virtual bool Ogre::SceneManager::hasInstanceManager ( const String & managerName) const
virtualinherited

Returns whether an InstanceManager with the given name exists.

◆ hasLight()

virtual bool Ogre::SceneManager::hasLight ( const String & name) const
virtualinherited

Returns whether a light with the given name exists.

◆ hasManualObject()

virtual bool Ogre::SceneManager::hasManualObject ( const String & name) const
virtualinherited

Returns whether a manual object with the given name exists.

◆ hasMovableObject()

virtual bool Ogre::SceneManager::hasMovableObject ( const String & name,
const String & typeName ) const
virtualinherited

Returns whether a movable object instance with the given name exists.

◆ hasOption()

virtual bool Ogre::SceneManager::hasOption ( const String & strKey) const
virtualinherited

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 1776 of file OgreSceneManager.h.

◆ hasParticleSystem()

virtual bool Ogre::SceneManager::hasParticleSystem ( const String & name) const
virtualinherited

Returns whether a particle system with the given name exists.

◆ hasRibbonTrail()

virtual bool Ogre::SceneManager::hasRibbonTrail ( const String & name) const
virtualinherited

Returns whether a ribbon trail with the given name exists.

◆ hasSceneNode()

virtual bool Ogre::SceneManager::hasSceneNode ( const String & name) const
virtualinherited

Returns whether a scene node with the given name exists.

◆ hasStaticGeometry()

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

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

◆ initRenderQueue()

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.

◆ initShadowVolumeMaterials()

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

Internal method for setting up materials for shadows.

◆ injectMovableObject()

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.

◆ isLateMaterialResolving()

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

Gets whether using late material resolving or not.

See also
setLateMaterialResolving

Definition at line 3102 of file OgreSceneManager.h.

◆ isRenderQueueToBeProcessed()

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

◆ isShadowTechniqueAdditive()

virtual bool Ogre::SceneManager::isShadowTechniqueAdditive ( void ) const
virtualinherited

Is there an additive shadowing technique in use?

Definition at line 3071 of file OgreSceneManager.h.

References Ogre::SHADOWDETAILTYPE_ADDITIVE.

◆ isShadowTechniqueIntegrated()

virtual bool Ogre::SceneManager::isShadowTechniqueIntegrated ( void ) const
virtualinherited

Is the shadow technique integrated into primary materials?

Definition at line 3074 of file OgreSceneManager.h.

References Ogre::SHADOWDETAILTYPE_INTEGRATED.

◆ isShadowTechniqueInUse()

virtual bool Ogre::SceneManager::isShadowTechniqueInUse ( void ) const
virtualinherited

Is there any shadowing technique in use?

Definition at line 3077 of file OgreSceneManager.h.

References Ogre::SHADOWTYPE_NONE.

◆ isShadowTechniqueModulative()

virtual bool Ogre::SceneManager::isShadowTechniqueModulative ( void ) const
virtualinherited

Is there a modulative shadowing technique in use?

Definition at line 3068 of file OgreSceneManager.h.

References Ogre::SHADOWDETAILTYPE_MODULATIVE.

◆ isShadowTechniqueStencilBased()

virtual bool Ogre::SceneManager::isShadowTechniqueStencilBased ( void ) const
virtualinherited

Is there a stencil shadow based shadowing technique in use?

Definition at line 3062 of file OgreSceneManager.h.

References Ogre::SHADOWDETAILTYPE_STENCIL.

◆ isShadowTechniqueTextureBased()

virtual bool Ogre::SceneManager::isShadowTechniqueTextureBased ( void ) const
virtualinherited

Is there a texture shadow based shadowing technique in use?

Definition at line 3065 of file OgreSceneManager.h.

References Ogre::SHADOWDETAILTYPE_TEXTURE.

◆ isSkyBoxEnabled()

virtual bool Ogre::SceneManager::isSkyBoxEnabled ( void ) const
virtualinherited

Return whether a skybox is enabled.

Definition at line 2078 of file OgreSceneManager.h.

◆ isSkyDomeEnabled()

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

Return whether a skydome is enabled.

Definition at line 2205 of file OgreSceneManager.h.

◆ isSkyPlaneEnabled()

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

Return whether a key plane is enabled.

Definition at line 1983 of file OgreSceneManager.h.

◆ manualRender() [1/2]

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,
const LightList * manualLightList = 0 )
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.

◆ manualRender() [2/2]

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.

◆ OGRE_MUTEX() [1/3]

Ogre::SceneManager::OGRE_MUTEX ( mAnimationsListMutex )
protectedinherited

◆ OGRE_MUTEX() [2/3]

Ogre::SceneManager::OGRE_MUTEX ( mMovableObjectCollectionMapMutex )
protectedinherited

Mutex over the collection of MovableObject types.

◆ OGRE_MUTEX() [3/3]

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.

◆ operator delete() [1/3]

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

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [2/3]

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [3/3]

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [1/2]

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [2/2]

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator new() [1/3]

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

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [2/3]

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

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [3/3]

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

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [1/2]

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [2/2]

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

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

◆ prepareRenderQueue()

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

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

◆ prepareShadowTextures()

virtual void Ogre::SceneManager::prepareShadowTextures ( Camera * cam,
Viewport * vp,
const LightList * lightList = 0 )
virtualinherited

Method for preparing shadow textures ready for use in a regular render Do not call manually unless before frame start or rendering is paused If lightList is not supplied, will render all lights in frustum.

◆ prepareWorldGeometry() [1/2]

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".

◆ prepareWorldGeometry() [2/2]

virtual void Ogre::SceneManager::prepareWorldGeometry ( DataStreamPtr & stream,
const String & typeName = StringUtil::BLANK )
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.

◆ removeListener()

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

Remove a listener.

◆ removeLodListener()

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

Remove a level of detail listener.

Remarks
Do not call from inside an LodListener callback method.

◆ removeRenderObjectListener()

virtual void Ogre::SceneManager::removeRenderObjectListener ( RenderObjectListener * delListener)
virtualinherited

Removes a listener previously added with addRenderObjectListener.

◆ removeRenderQueueListener()

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

Removes a listener previously added with addRenderQueueListener.

◆ removeSpecialCaseRenderQueue()

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.

◆ renderAdditiveStencilShadowedQueueGroupObjects()

virtual void Ogre::SceneManager::renderAdditiveStencilShadowedQueueGroupObjects ( RenderQueueGroup * group,
QueuedRenderableCollection::OrganisationMode om )
protectedvirtualinherited

Render a group with the added complexity of additive stencil shadows.

◆ renderAdditiveTextureShadowedQueueGroupObjects()

virtual void Ogre::SceneManager::renderAdditiveTextureShadowedQueueGroupObjects ( RenderQueueGroup * group,
QueuedRenderableCollection::OrganisationMode om )
protectedvirtualinherited

Render a group with additive texture shadows.

◆ renderBasicQueueGroupObjects()

virtual void Ogre::SceneManager::renderBasicQueueGroupObjects ( RenderQueueGroup * pGroup,
QueuedRenderableCollection::OrganisationMode om )
protectedvirtualinherited

Render a group in the ordinary way.

◆ renderModulativeStencilShadowedQueueGroupObjects()

virtual void Ogre::SceneManager::renderModulativeStencilShadowedQueueGroupObjects ( RenderQueueGroup * group,
QueuedRenderableCollection::OrganisationMode om )
protectedvirtualinherited

Render a group with the added complexity of modulative stencil shadows.

◆ renderModulativeTextureShadowedQueueGroupObjects()

virtual void Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects ( RenderQueueGroup * group,
QueuedRenderableCollection::OrganisationMode om )
protectedvirtualinherited

Render a group with the added complexity of modulative texture shadows.

◆ renderObjects()

virtual void Ogre::SceneManager::renderObjects ( const QueuedRenderableCollection & objs,
QueuedRenderableCollection::OrganisationMode om,
bool lightScissoringClipping,
bool doLightIteration,
const LightList * manualLightList = 0 )
protectedvirtualinherited

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

◆ renderShadowVolumeObjects()

void Ogre::SceneManager::renderShadowVolumeObjects ( ShadowCaster::ShadowRenderableListIterator iShadowRenderables,
Pass * pass,
const LightList * manualLightList,
unsigned long flags,
bool secondpass,
bool zfail,
bool twosided )
protectedinherited

Render a set of shadow renderables.

◆ renderShadowVolumesToStencil()

virtual void Ogre::SceneManager::renderShadowVolumesToStencil ( const Light * light,
const Camera * cam,
bool calcScissor )
protectedvirtualinherited

Internal method for rendering all the objects for a given light into the stencil buffer.

Parameters
lightThe light source
camThe camera being viewed from
calcScissorWhether the method should set up any scissor state, or false if that's already been done

◆ renderSingleObject()

virtual void Ogre::SceneManager::renderSingleObject ( Renderable * rend,
const Pass * pass,
bool lightScissoringClipping,
bool doLightIteration,
const LightList * manualLightList = 0 )
protectedvirtualinherited

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.

◆ renderTextureShadowCasterQueueGroupObjects()

virtual void Ogre::SceneManager::renderTextureShadowCasterQueueGroupObjects ( RenderQueueGroup * group,
QueuedRenderableCollection::OrganisationMode om )
protectedvirtualinherited

Render a group rendering only shadow casters.

◆ renderTextureShadowReceiverQueueGroupObjects()

virtual void Ogre::SceneManager::renderTextureShadowReceiverQueueGroupObjects ( RenderQueueGroup * group,
QueuedRenderableCollection::OrganisationMode om )
protectedvirtualinherited

Render a group rendering only shadow receivers.

◆ renderTransparentShadowCasterObjects()

virtual void Ogre::SceneManager::renderTransparentShadowCasterObjects ( const QueuedRenderableCollection & objs,
QueuedRenderableCollection::OrganisationMode om,
bool lightScissoringClipping,
bool doLightIteration,
const LightList * manualLightList = 0 )
protectedvirtualinherited

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

◆ renderVisibleObjectsCustomSequence()

virtual void Ogre::SceneManager::renderVisibleObjectsCustomSequence ( RenderQueueInvocationSequence * s)
protectedvirtualinherited

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

◆ renderVisibleObjectsDefaultSequence()

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

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

◆ resetLightClip()

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

◆ resetScissor()

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

◆ resetViewProjMode()

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.

◆ setAmbientLight()

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.

◆ setCameraRelativeRendering()

virtual void Ogre::SceneManager::setCameraRelativeRendering ( bool rel)
virtualinherited

Set whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it.

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. Instead of including the camera translation in the view matrix, it only includes the rotation, and the world matrices of objects must be expressed relative to this.
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.

Definition at line 3521 of file OgreSceneManager.h.

◆ setDisplaySceneNodes()

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.

◆ setFindVisibleObjects()

virtual void Ogre::SceneManager::setFindVisibleObjects ( bool find)
virtualinherited

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 3352 of file OgreSceneManager.h.

◆ setFlipCullingOnNegativeScale()

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

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 3382 of file OgreSceneManager.h.

◆ setFog()

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.

◆ setLateMaterialResolving()

virtual void Ogre::SceneManager::setLateMaterialResolving ( bool isLate)
virtualinherited

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 3098 of file OgreSceneManager.h.

◆ setNormaliseNormalsOnScale()

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

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 3367 of file OgreSceneManager.h.

◆ setOption()

virtual bool Ogre::SceneManager::setOption ( const String & strKey,
const void * pValue )
virtualinherited

Method for setting a specific option of the Scene Manager.

These options are usually specific for a certain implemntation of the Scene Manager class, and may (and probably will) not exist across different implementations.

Parameters
strKeyThe name of the option to set
pValueA pointer to the value - the size should be calculated by the scene manager based on the key
Returns
On success, true is returned.
On failure, false is returned.

Definition at line 1748 of file OgreSceneManager.h.

◆ setQueuedRenderableVisitor()

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.

◆ setShadowCameraSetup()

virtual void Ogre::SceneManager::setShadowCameraSetup ( const ShadowCameraSetupPtr & shadowSetup)
virtualinherited

Set the shadow camera setup to use for all lights which don't have their own shadow camera setup.

See also
ShadowCameraSetup

◆ setShadowCasterRenderBackFaces()

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

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 3003 of file OgreSceneManager.h.

◆ setShadowColour()

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.

◆ setShadowDirectionalLightExtrusionDistance()

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.

◆ setShadowDirLightTextureOffset()

virtual void Ogre::SceneManager::setShadowDirLightTextureOffset ( Real offset)
virtualinherited

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 2908 of file OgreSceneManager.h.

◆ setShadowFarDistance()

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.

◆ setShadowIndexBufferSize()

virtual void Ogre::SceneManager::setShadowIndexBufferSize ( size_t size)
virtualinherited

Sets the maximum size of the index buffer used to render shadow primitives.

Remarks
This method allows you to tweak the size of the index buffer used to render shadow primitives (including stencil shadow volumes). The default size is 51,200 entries, which is 100k of GPU memory, or enough to render approximately 17,000 triangles. You can reduce this as long as you do not have any models / world geometry chunks which could require more than the amount you set.
The maximum number of triangles required to render a single shadow volume (including light and dark caps when needed) will be 3x the number of edges on the light silhouette, plus the number of light-facing triangles. On average, half the triangles will be facing toward the light, but the number of triangles in the silhouette entirely depends on the mesh - angular meshes will have a higher silhouette tris/mesh tris ratio than a smooth mesh. You can estimate the requirements for your particular mesh by rendering it alone in a scene with shadows enabled and a single light - rotate it or the light and make a note of how high the triangle count goes (remembering to subtract the mesh triangle count)
Parameters
sizeThe number of indexes; divide this by 3 to determine the number of triangles.

◆ setShadowTechnique()

virtual void Ogre::SceneManager::setShadowTechnique ( ShadowTechnique technique)
virtualinherited

Sets the general shadow technique to be used in this scene.

Remarks

There are multiple ways to generate shadows in a scene, and each has strengths and weaknesses.
  • Stencil-based approaches can be used to draw very long, extreme shadows without loss of precision and the 'additive' version can correctly show the shadowing of complex effects like bump mapping because they physically exclude the light from those areas. However, the edges are very sharp and stencils cannot handle transparency, and they involve a fair amount of CPU work in order to calculate the shadow volumes, especially when animated objects are involved.
  • Texture-based approaches are good for handling transparency (they can, for example, correctly shadow a mesh which uses alpha to represent holes), and they require little CPU overhead, and can happily shadow geometry which is deformed by a vertex program, unlike stencil shadows. However, they have a fixed precision which can introduce 'jaggies' at long range and have fillrate issues of their own.
We support 2 kinds of stencil shadows, and 2 kinds of texture-based shadows, and one simple decal approach. The 2 stencil approaches differ in the amount of multipass work that is required - the modulative approach simply 'darkens' areas in shadow after the main render, which is the least expensive, whilst the additive approach has to perform a render per light and adds the cumulative effect, which is more expensive but more accurate. The texture based shadows both work in roughly the same way, the only difference is that the shadowmap approach is slightly more accurate, but requires a more recent graphics card.
Note that because mixing many shadow techniques can cause problems, only one technique is supported at once. Also, you should call this method at the start of the scene setup.
Parameters
techniqueThe shadowing technique to use for the scene.

◆ setShadowTextureCasterMaterial()

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 and receiver 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_receiver_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.

◆ setShadowTextureConfig() [1/2]

virtual void Ogre::SceneManager::setShadowTextureConfig ( size_t shadowIndex,
const ShadowTextureConfig & config )
virtualinherited

Set the detailed configuration for a shadow texture.

Parameters
shadowIndexThe index of the texture to configure, must be < the number of shadow textures setting
configConfiguration structure

◆ setShadowTextureConfig() [2/2]

virtual void Ogre::SceneManager::setShadowTextureConfig ( size_t shadowIndex,
unsigned short width,
unsigned short height,
PixelFormat format,
unsigned short fsaa = 0,
uint16 depthBufferPoolId = 1 )
virtualinherited

Set the detailed configuration for a shadow texture.

Parameters
shadowIndexThe index of the texture to configure, must be < the number of shadow textures setting
widthThe width of the texture
heightThe height of the texture
formatThe pixel format of the texture
fsaaThe level of multisampling to use. Ignored if the device does not support it.
depthBufferPoolIdThe pool # it should query the depth buffers from

◆ setShadowTextureCount()

virtual void Ogre::SceneManager::setShadowTextureCount ( size_t count)
virtualinherited

Set the number of textures allocated for texture-based shadows.

Remarks
The default number of textures assigned to deal with texture based shadows is 1; however this means you can only have one light casting shadows at the same time. You can increase this number in order to make this more flexible, but be aware of the texture memory it will use.

◆ setShadowTextureCountPerLightType()

void Ogre::SceneManager::setShadowTextureCountPerLightType ( Light::LightTypes type,
size_t count )
inherited

Set the number of shadow textures a light type uses.

Remarks
The default for all light types is 1. This means that each light uses only 1 shadow texture. Call this if you need more than 1 shadow texture per light, E.G. PSSM.
Note
This feature only works with the Integrated shadow technique. Also remember to increase the total number of shadow textures you request appropriately (e.g. via setShadowTextureCount)!!

Definition at line 2870 of file OgreSceneManager.h.

◆ setShadowTextureFadeEnd()

virtual void Ogre::SceneManager::setShadowTextureFadeEnd ( Real fadeEnd)
virtualinherited

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 2929 of file OgreSceneManager.h.

◆ setShadowTextureFadeStart()

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

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 2920 of file OgreSceneManager.h.

◆ setShadowTextureFSAA()

virtual void Ogre::SceneManager::setShadowTextureFSAA ( unsigned short fsaa)
virtualinherited

Set the level of multisample AA of the textures used for texture-based shadows.

Remarks
By default, the level of multisample AA is zero.
Note
This is the simple form, see setShadowTextureConfig for the more complex form.

◆ setShadowTexturePixelFormat()

virtual void Ogre::SceneManager::setShadowTexturePixelFormat ( PixelFormat fmt)
virtualinherited

Set the pixel format of the textures used for texture-based shadows.

Remarks
By default, a colour texture is used (PF_X8R8G8B8) for texture shadows, but if you want to use more advanced texture shadow types you can alter this. If you do, you will have to also call setShadowTextureCasterMaterial and setShadowTextureReceiverMaterial to provide shader-based materials to use these customised shadow texture formats.
Note
This is the simple form, see setShadowTextureConfig for the more complex form.

◆ setShadowTextureReceiverMaterial()

virtual void Ogre::SceneManager::setShadowTextureReceiverMaterial ( const String & name)
virtualinherited

Sets the default material to use for rendering shadow receivers.

Remarks
By default shadow receivers are rendered as a post-pass using basic modulation. This allows basic projective texture shadows, but it's possible to use more advanced shadow techniques by overriding the caster and receiver materials, for example providing vertex and fragment programs to implement shadow maps.
You can rely on texture unit 0 containing the shadow texture, and for the unit to be set to use projective texturing from the light (only useful if you're using fixed-function, which is unlikely; otherwise you should rely on the texture_viewproj_matrix auto binding)
Note
Individual objects may also override the vertex program in your default material if their materials include shadow_caster_vertex_program_ref shadow_receiver_vertex_program_ref shadow_receiver_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.

◆ setShadowTextureSelfShadow()

virtual void Ogre::SceneManager::setShadowTextureSelfShadow ( bool selfShadow)
virtualinherited

Sets whether or not texture shadows should attempt to self-shadow.

Remarks
The default implementation of texture shadows uses a fixed-function colour texture projection approach for maximum compatibility, and as such cannot support self-shadowing. However, if you decide to implement a more complex shadowing technique using the setShadowTextureCasterMaterial and setShadowTextureReceiverMaterial there is a possibility you may be able to support self-shadowing (e.g by implementing a shader-based shadow map). In this case you might want to enable this option.
Parameters
selfShadowWhether to attempt self-shadowing with texture shadows

◆ setShadowTextureSettings()

virtual void Ogre::SceneManager::setShadowTextureSettings ( unsigned short size,
unsigned short count,
PixelFormat fmt = PF_X8R8G8B8,
unsigned short fsaa = 0,
uint16 depthBufferPoolId = 1 )
virtualinherited

Sets the size and count of textures used in texture-based shadows.

See also
setShadowTextureSize and setShadowTextureCount for details, this method just allows you to change both at once, which can save on reallocation if the textures have already been created.
Note
This is the simple form, see setShadowTextureConfig for the more complex form.

◆ setShadowTextureSize()

virtual void Ogre::SceneManager::setShadowTextureSize ( unsigned short size)
virtualinherited

Set the size of the texture used for all texture-based shadows.

Remarks
The larger the shadow texture, the better the detail on texture based shadows, but obviously this takes more memory. The default size is 512. Sizes must be a power of 2.
Note
This is the simple form, see setShadowTextureConfig for the more complex form.

◆ setShadowUseInfiniteFarPlane()

virtual void Ogre::SceneManager::setShadowUseInfiniteFarPlane ( bool enable)
virtualinherited

Sets whether we should use an inifinite camera far plane when rendering stencil shadows.

Remarks
Stencil shadow coherency is very reliant on the shadow volume not being clipped by the far plane. If this clipping happens, you get a kind of 'negative' shadow effect. The best way to achieve coherency is to move the far plane of the camera out to infinity, thus preventing the far plane from clipping the shadow volumes. When combined with vertex program extrusion of the volume to infinity, which Ogre does when available, this results in very robust shadow volumes. For this reason, when you enable stencil shadows, Ogre automatically changes your camera settings to project to infinity if the card supports it. You can disable this behaviour if you like by calling this method; although you can never enable infinite projection if the card does not support it.

If you disable infinite projection, or it is not available, you need to be far more careful with your light attenuation / directional light extrusion distances to avoid clipping artefacts at the far plane.
Note
Recent cards will generally support infinite far plane projection. However, we have found some cases where they do not, especially on Direct3D. There is no standard capability we can check to validate this, so we use some heuristics based on experience:
  • OpenGL always seems to support it no matter what the card
  • Direct3D on non-vertex program capable systems (including vertex program capable cards on Direct3D7) does not support it
  • Direct3D on GeForce3 and GeForce4 Ti does not seem to support infinite projection
Therefore in the RenderSystem implementation, we may veto the use of an infinite far plane based on these heuristics.

Definition at line 3058 of file OgreSceneManager.h.

◆ setShadowUseLightClipPlanes()

virtual void Ogre::SceneManager::setShadowUseLightClipPlanes ( bool enabled)
virtualinherited

Sets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering.

Definition at line 3082 of file OgreSceneManager.h.

◆ setShadowVolumeStencilState()

virtual void Ogre::SceneManager::setShadowVolumeStencilState ( bool secondpass,
bool zfail,
bool twosided )
protectedvirtualinherited

Internal utility method for setting stencil state for rendering shadow volumes.

Parameters
secondpassIs this the second pass?
zfailShould we be using the zfail method?
twosidedShould we use a 2-sided stencil?

◆ setShowDebugShadows()

virtual void Ogre::SceneManager::setShowDebugShadows ( bool debug)
virtualinherited

Enables / disables the rendering of debug information for shadows.

Definition at line 2711 of file OgreSceneManager.h.

◆ setSkyBox()

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.

◆ setSkyBoxEnabled()

virtual void Ogre::SceneManager::setSkyBoxEnabled ( bool enable)
virtualinherited

Enables / disables a 'sky box'.

Definition at line 2075 of file OgreSceneManager.h.

◆ setSkyDome()

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.

◆ setSkyDomeEnabled()

virtual void Ogre::SceneManager::setSkyDomeEnabled ( bool enable)
virtualinherited

Enables / disables a 'sky dome'.

Definition at line 2202 of file OgreSceneManager.h.

◆ setSkyPlane()

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 tesselation on the plane to perform per-vertex effects.
groupNameThe name of the resource group to which to assign the plane mesh.

◆ setSkyPlaneEnabled()

virtual void Ogre::SceneManager::setSkyPlaneEnabled ( bool enable)
virtualinherited

Enables / disables a 'sky plane'.

Definition at line 1980 of file OgreSceneManager.h.

◆ setSpecialCaseRenderQueueMode()

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

◆ setViewMatrix()

virtual void Ogre::SceneManager::setViewMatrix ( const Matrix4 & m)
protectedvirtualinherited

◆ setViewport()

virtual void Ogre::SceneManager::setViewport ( Viewport * vp)
protectedvirtualinherited

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

◆ setVisibilityMask()

virtual void Ogre::SceneManager::setVisibilityMask ( uint32 vmask)
virtualinherited

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 3334 of file OgreSceneManager.h.

◆ setWorldGeometry() [1/2]

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".

◆ setWorldGeometry() [2/2]

virtual void Ogre::SceneManager::setWorldGeometry ( DataStreamPtr & stream,
const String & typeName = StringUtil::BLANK )
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.

◆ setWorldGeometryRenderQueue()

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

Sets 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.
Note
Setting this may not affect the actual ordering of rendering the world geometry, if the world geometry is being rendered manually by the SceneManager. If the SceneManager feeds world geometry into the queues, however, the ordering will be affected.

◆ showBoundingBoxes()

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

Allows all bounding boxes of scene nodes to be displayed.

◆ updateDirtyInstanceManagers()

void Ogre::SceneManager::updateDirtyInstanceManagers ( void )
protectedinherited

Updates all instance managaers with dirty instance batches.

See also
_addDirtyInstanceManager

◆ updateGpuProgramParameters()

virtual void Ogre::SceneManager::updateGpuProgramParameters ( const Pass * p)
protectedvirtualinherited

◆ updateRenderQueueGroupSplitOptions()

virtual void Ogre::SceneManager::updateRenderQueueGroupSplitOptions ( RenderQueueGroup * group,
bool suppressShadows,
bool suppressRenderState )
protectedvirtualinherited

Update the state of the render queue group splitting based on a shadow option change.

◆ updateRenderQueueSplitOptions()

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

Update the state of the global render queue splitting based on a shadow option change.

◆ useLights()

virtual void Ogre::SceneManager::useLights ( const LightList & lights,
unsigned short limit )
protectedvirtualinherited

◆ useLightsGpuProgram()

virtual void Ogre::SceneManager::useLightsGpuProgram ( const Pass * pass,
const LightList * lights )
protectedvirtualinherited

◆ useRenderableViewProjMode()

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.

◆ validatePassForRendering()

virtual bool Ogre::SceneManager::validatePassForRendering ( const Pass * pass)
protectedvirtualinherited

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.

◆ validateRenderableForRendering()

virtual bool Ogre::SceneManager::validateRenderableForRendering ( const Pass * pass,
const Renderable * rend )
protectedvirtualinherited

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

Remarks
Called just before a pass is about to be used for rendering a Renderable to allow the SceneManager to omit it if required. A return value of false skips it.

Member Data Documentation

◆ ENTITY_TYPE_MASK

uint32 Ogre::SceneManager::ENTITY_TYPE_MASK
staticinherited

Query type mask which will be used for entities.

See also
SceneQuery

Definition at line 149 of file OgreSceneManager.h.

◆ FRUSTUM_TYPE_MASK

uint32 Ogre::SceneManager::FRUSTUM_TYPE_MASK
staticinherited

Query type mask which will be used for frusta and cameras.

See also
SceneQuery

Definition at line 157 of file OgreSceneManager.h.

◆ FX_TYPE_MASK

uint32 Ogre::SceneManager::FX_TYPE_MASK
staticinherited

Query type mask which will be used for effects like billboardsets / particle systems.

See also
SceneQuery

Definition at line 151 of file OgreSceneManager.h.

◆ LIGHT_TYPE_MASK

uint32 Ogre::SceneManager::LIGHT_TYPE_MASK
staticinherited

Query type mask which will be used for lights.

See also
SceneQuery

Definition at line 155 of file OgreSceneManager.h.

◆ mActiveCompositorChain

CompositorChain* Ogre::SceneManager::mActiveCompositorChain
protectedinherited

Definition at line 730 of file OgreSceneManager.h.

◆ mActiveQueuedRenderableVisitor

SceneMgrQueuedRenderableVisitor* Ogre::SceneManager::mActiveQueuedRenderableVisitor
protectedinherited

The active renderable visitor class - subclasses could override this.

Definition at line 984 of file OgreSceneManager.h.

◆ mAmbientLight

ColourValue Ogre::SceneManager::mAmbientLight
protectedinherited

Current ambient light, cached for RenderSystem.

Definition at line 400 of file OgreSceneManager.h.

◆ mAnimationsList

AnimationList Ogre::SceneManager::mAnimationsList
protectedinherited

Definition at line 641 of file OgreSceneManager.h.

◆ mAnimationStates

AnimationStateSet Ogre::SceneManager::mAnimationStates
protectedinherited

Definition at line 643 of file OgreSceneManager.h.

◆ mAutoParamDataSource

AutoParamDataSource* Ogre::SceneManager::mAutoParamDataSource
protectedinherited

Utility class for calculating automatic parameters for gpu programs.

Definition at line 728 of file OgreSceneManager.h.

◆ mAutoTrackingSceneNodes

AutoTrackingSceneNodes Ogre::SceneManager::mAutoTrackingSceneNodes
protectedinherited

Definition at line 439 of file OgreSceneManager.h.

◆ mCachedLightInfos

LightInfoList Ogre::SceneManager::mCachedLightInfos
protectedinherited

Definition at line 536 of file OgreSceneManager.h.

◆ mCachedViewMatrix

Matrix4 Ogre::SceneManager::mCachedViewMatrix
protectedinherited

Definition at line 990 of file OgreSceneManager.h.

◆ mCameraInProgress

Camera* Ogre::SceneManager::mCameraInProgress
protectedinherited

Camera in progress.

Definition at line 430 of file OgreSceneManager.h.

◆ mCameraRelativePosition

Vector3 Ogre::SceneManager::mCameraRelativePosition
protectedinherited

Definition at line 991 of file OgreSceneManager.h.

◆ mCameraRelativeRendering

bool Ogre::SceneManager::mCameraRelativeRendering
protectedinherited

Whether to use camera-relative rendering.

Definition at line 989 of file OgreSceneManager.h.

◆ mCameras

CameraList Ogre::SceneManager::mCameras
protectedinherited

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

Definition at line 409 of file OgreSceneManager.h.

◆ mCamVisibleObjectsMap

CamVisibleObjectsMap Ogre::SceneManager::mCamVisibleObjectsMap
protectedinherited

Definition at line 498 of file OgreSceneManager.h.

◆ mCurrentShadowTexture

Texture* Ogre::SceneManager::mCurrentShadowTexture
protectedinherited

Definition at line 752 of file OgreSceneManager.h.

◆ mCurrentViewport

Viewport* Ogre::SceneManager::mCurrentViewport
protectedinherited

Current Viewport.

Definition at line 432 of file OgreSceneManager.h.

◆ mDebugShadows

bool Ogre::SceneManager::mDebugShadows
protectedinherited

Definition at line 734 of file OgreSceneManager.h.

◆ mDefaultQueuedRenderableVisitor

SceneMgrQueuedRenderableVisitor Ogre::SceneManager::mDefaultQueuedRenderableVisitor
protectedinherited

Storage for default renderable visitor.

Definition at line 986 of file OgreSceneManager.h.

◆ mDefaultShadowCameraSetup

ShadowCameraSetupPtr Ogre::SceneManager::mDefaultShadowCameraSetup
protectedinherited

default shadow camera setup

Definition at line 771 of file OgreSceneManager.h.

◆ mDefaultShadowFarDist

Real Ogre::SceneManager::mDefaultShadowFarDist
protectedinherited

Definition at line 857 of file OgreSceneManager.h.

◆ mDefaultShadowFarDistSquared

Real Ogre::SceneManager::mDefaultShadowFarDistSquared
protectedinherited

Definition at line 858 of file OgreSceneManager.h.

◆ mDestRenderSystem

RenderSystem* Ogre::SceneManager::mDestRenderSystem
protectedinherited

The rendering system to send the scene to.

Definition at line 403 of file OgreSceneManager.h.

◆ mDirtyInstanceManagers

InstanceManagerVec Ogre::SceneManager::mDirtyInstanceManagers
protectedinherited

Definition at line 802 of file OgreSceneManager.h.

◆ mDirtyInstanceMgrsTmp

InstanceManagerVec Ogre::SceneManager::mDirtyInstanceMgrsTmp
protectedinherited

Definition at line 803 of file OgreSceneManager.h.

◆ mDisplayNodes

bool Ogre::SceneManager::mDisplayNodes
protectedinherited

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

Definition at line 637 of file OgreSceneManager.h.

◆ mEntityMaterialLodChangedEvents

EntityMaterialLodChangedEventList Ogre::SceneManager::mEntityMaterialLodChangedEvents
protectedinherited

Definition at line 1027 of file OgreSceneManager.h.

◆ mEntityMeshLodChangedEvents

EntityMeshLodChangedEventList Ogre::SceneManager::mEntityMeshLodChangedEvents
protectedinherited

Definition at line 1023 of file OgreSceneManager.h.

◆ mFindVisibleObjects

bool Ogre::SceneManager::mFindVisibleObjects
protectedinherited

Definition at line 876 of file OgreSceneManager.h.

◆ mFiniteExtrusionParams

GpuProgramParametersSharedPtr Ogre::SceneManager::mFiniteExtrusionParams
protectedinherited

Definition at line 885 of file OgreSceneManager.h.

◆ mFlipCullingOnNegativeScale

bool Ogre::SceneManager::mFlipCullingOnNegativeScale
protectedinherited

Definition at line 485 of file OgreSceneManager.h.

◆ mFogColour

ColourValue Ogre::SceneManager::mFogColour
protectedinherited

Definition at line 469 of file OgreSceneManager.h.

◆ mFogDensity

Real Ogre::SceneManager::mFogDensity
protectedinherited

Definition at line 472 of file OgreSceneManager.h.

◆ mFogEnd

Real Ogre::SceneManager::mFogEnd
protectedinherited

Definition at line 471 of file OgreSceneManager.h.

◆ mFogMode

FogMode Ogre::SceneManager::mFogMode
protectedinherited

Definition at line 468 of file OgreSceneManager.h.

◆ mFogStart

Real Ogre::SceneManager::mFogStart
protectedinherited

Definition at line 470 of file OgreSceneManager.h.

◆ mFullScreenQuad

Rectangle2D* Ogre::SceneManager::mFullScreenQuad
protectedinherited

Definition at line 743 of file OgreSceneManager.h.

◆ mGpuParamsDirty

uint16 Ogre::SceneManager::mGpuParamsDirty
protectedinherited

Gpu params that need rebinding (mask of GpuParamVariability)

Definition at line 998 of file OgreSceneManager.h.

◆ mIlluminationStage

IlluminationRenderStage Ogre::SceneManager::mIlluminationStage
protectedinherited

Definition at line 745 of file OgreSceneManager.h.

◆ mInfiniteExtrusionParams

GpuProgramParametersSharedPtr Ogre::SceneManager::mInfiniteExtrusionParams
protectedinherited

Definition at line 884 of file OgreSceneManager.h.

◆ mInstancedGeometryList

InstancedGeometryList Ogre::SceneManager::mInstancedGeometryList
protectedinherited

Definition at line 414 of file OgreSceneManager.h.

◆ mInstanceManagerMap

InstanceManagerMap Ogre::SceneManager::mInstanceManagerMap
protectedinherited

Definition at line 417 of file OgreSceneManager.h.

◆ mLastFrameNumber

unsigned long Ogre::SceneManager::mLastFrameNumber
protectedinherited

Definition at line 479 of file OgreSceneManager.h.

◆ mLastLightHash

uint32 Ogre::SceneManager::mLastLightHash
protectedinherited

Last light sets.

Definition at line 994 of file OgreSceneManager.h.

◆ mLastLightHashGpuProgram

uint32 Ogre::SceneManager::mLastLightHashGpuProgram
protectedinherited

Definition at line 996 of file OgreSceneManager.h.

◆ mLastLightLimit

unsigned short Ogre::SceneManager::mLastLightLimit
protectedinherited

Definition at line 995 of file OgreSceneManager.h.

◆ mLastRenderQueueInvocationCustom

bool Ogre::SceneManager::mLastRenderQueueInvocationCustom
protectedinherited

Definition at line 397 of file OgreSceneManager.h.

◆ mLateMaterialResolving

bool Ogre::SceneManager::mLateMaterialResolving
protectedinherited

Definition at line 731 of file OgreSceneManager.h.

◆ mLightClippingInfoMap

LightClippingInfoMap Ogre::SceneManager::mLightClippingInfoMap
protectedinherited

Definition at line 767 of file OgreSceneManager.h.

◆ mLightClippingInfoMapFrameNumber

unsigned long Ogre::SceneManager::mLightClippingInfoMapFrameNumber
protectedinherited

Definition at line 768 of file OgreSceneManager.h.

◆ mLightsAffectingFrustum

LightList Ogre::SceneManager::mLightsAffectingFrustum
protectedinherited

Definition at line 535 of file OgreSceneManager.h.

◆ mLightsDirtyCounter

ulong Ogre::SceneManager::mLightsDirtyCounter
protectedinherited

Definition at line 538 of file OgreSceneManager.h.

◆ mListeners

ListenerList Ogre::SceneManager::mListeners
protectedinherited

Definition at line 660 of file OgreSceneManager.h.

◆ mLodListeners

LodListenerSet Ogre::SceneManager::mLodListeners
protectedinherited

Definition at line 1015 of file OgreSceneManager.h.

◆ mMovableNameGenerator

NameGenerator Ogre::SceneManager::mMovableNameGenerator
protectedinherited

Definition at line 550 of file OgreSceneManager.h.

◆ mMovableObjectCollectionMap

MovableObjectCollectionMap Ogre::SceneManager::mMovableObjectCollectionMap
protectedinherited

Definition at line 549 of file OgreSceneManager.h.

◆ mMovableObjectLodChangedEvents

MovableObjectLodChangedEventList Ogre::SceneManager::mMovableObjectLodChangedEvents
protectedinherited

Definition at line 1019 of file OgreSceneManager.h.

◆ mName

String Ogre::SceneManager::mName
protectedinherited

Instance name.

Definition at line 393 of file OgreSceneManager.h.

◆ mNormaliseNormalsOnScale

bool Ogre::SceneManager::mNormaliseNormalsOnScale
protectedinherited

Definition at line 484 of file OgreSceneManager.h.

◆ mNullShadowTexture

TexturePtr Ogre::SceneManager::mNullShadowTexture
protectedinherited

Definition at line 749 of file OgreSceneManager.h.

◆ mPassCullingMode

CullingMode Ogre::SceneManager::mPassCullingMode
protectedinherited

Definition at line 486 of file OgreSceneManager.h.

◆ mRenderObjectListeners

RenderObjectListenerList Ogre::SceneManager::mRenderObjectListeners
protectedinherited

Definition at line 658 of file OgreSceneManager.h.

◆ mRenderQueue

RenderQueue* Ogre::SceneManager::mRenderQueue
protectedinherited

Queue of objects for rendering.

Definition at line 396 of file OgreSceneManager.h.

◆ mRenderQueueListeners

RenderQueueListenerList Ogre::SceneManager::mRenderQueueListeners
protectedinherited

Definition at line 655 of file OgreSceneManager.h.

◆ mResetIdentityProj

bool Ogre::SceneManager::mResetIdentityProj
protectedinherited

Definition at line 482 of file OgreSceneManager.h.

◆ mResetIdentityView

bool Ogre::SceneManager::mResetIdentityView
protectedinherited

Definition at line 481 of file OgreSceneManager.h.

◆ mSceneNodes

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 427 of file OgreSceneManager.h.

◆ mSceneRoot

SceneNode* Ogre::SceneManager::mSceneRoot
protectedinherited

Root scene node.

Definition at line 435 of file OgreSceneManager.h.

◆ mShadowAdditiveLightClip

bool Ogre::SceneManager::mShadowAdditiveLightClip
protectedinherited

Definition at line 755 of file OgreSceneManager.h.

◆ mShadowCamLightMapping

ShadowCamLightMapping Ogre::SceneManager::mShadowCamLightMapping
protectedinherited

Definition at line 502 of file OgreSceneManager.h.

◆ mShadowCasterAABBQuery

AxisAlignedBoxSceneQuery* Ogre::SceneManager::mShadowCasterAABBQuery
protectedinherited

Definition at line 856 of file OgreSceneManager.h.

◆ mShadowCasterList

ShadowCasterList Ogre::SceneManager::mShadowCasterList
protectedinherited

Definition at line 854 of file OgreSceneManager.h.

◆ mShadowCasterPlainBlackPass

Pass* Ogre::SceneManager::mShadowCasterPlainBlackPass
protectedinherited

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

Definition at line 570 of file OgreSceneManager.h.

◆ mShadowCasterQueryListener

ShadowCasterSceneQueryListener* Ogre::SceneManager::mShadowCasterQueryListener
protectedinherited

Definition at line 919 of file OgreSceneManager.h.

◆ mShadowCasterRenderBackFaces

bool Ogre::SceneManager::mShadowCasterRenderBackFaces
protectedinherited

Definition at line 754 of file OgreSceneManager.h.

◆ mShadowCasterSphereQuery

SphereSceneQuery* Ogre::SceneManager::mShadowCasterSphereQuery
protectedinherited

Definition at line 855 of file OgreSceneManager.h.

◆ mShadowColour

ColourValue Ogre::SceneManager::mShadowColour
protectedinherited

Definition at line 735 of file OgreSceneManager.h.

◆ mShadowDebugPass

Pass* Ogre::SceneManager::mShadowDebugPass
protectedinherited

Definition at line 736 of file OgreSceneManager.h.

◆ mShadowDirLightExtrudeDist

Real Ogre::SceneManager::mShadowDirLightExtrudeDist
protectedinherited

Definition at line 744 of file OgreSceneManager.h.

◆ mShadowIndexBuffer

HardwareIndexBufferSharedPtr Ogre::SceneManager::mShadowIndexBuffer
protectedinherited

Definition at line 740 of file OgreSceneManager.h.

◆ mShadowIndexBufferSize

size_t Ogre::SceneManager::mShadowIndexBufferSize
protectedinherited

Definition at line 741 of file OgreSceneManager.h.

◆ mShadowIndexBufferUsedSize

size_t Ogre::SceneManager::mShadowIndexBufferUsedSize
protectedinherited

Definition at line 742 of file OgreSceneManager.h.

◆ mShadowMaterialInitDone

bool Ogre::SceneManager::mShadowMaterialInitDone
protectedinherited

Definition at line 739 of file OgreSceneManager.h.

◆ mShadowModulativePass

Pass* Ogre::SceneManager::mShadowModulativePass
protectedinherited

Definition at line 738 of file OgreSceneManager.h.

◆ mShadowReceiverPass

Pass* Ogre::SceneManager::mShadowReceiverPass
protectedinherited

A pass designed to let us render shadow receivers for texture shadows.

Definition at line 572 of file OgreSceneManager.h.

◆ mShadowStencilPass

Pass* Ogre::SceneManager::mShadowStencilPass
protectedinherited

Definition at line 737 of file OgreSceneManager.h.

◆ mShadowTechnique

ShadowTechnique Ogre::SceneManager::mShadowTechnique
protectedinherited

Definition at line 733 of file OgreSceneManager.h.

◆ mShadowTextureCameras

ShadowTextureCameraList Ogre::SceneManager::mShadowTextureCameras
protectedinherited

Definition at line 751 of file OgreSceneManager.h.

◆ mShadowTextureConfigDirty

bool Ogre::SceneManager::mShadowTextureConfigDirty
protectedinherited

Definition at line 747 of file OgreSceneManager.h.

◆ mShadowTextureConfigList

ShadowTextureConfigList Ogre::SceneManager::mShadowTextureConfigList
protectedinherited

Definition at line 746 of file OgreSceneManager.h.

◆ mShadowTextureCountPerType

size_t Ogre::SceneManager::mShadowTextureCountPerType[3]
protectedinherited

Array defining shadow count per light type.

Definition at line 505 of file OgreSceneManager.h.

◆ mShadowTextureCurrentCasterLightList

LightList Ogre::SceneManager::mShadowTextureCurrentCasterLightList
protectedinherited

Definition at line 539 of file OgreSceneManager.h.

◆ mShadowTextureCustomCasterFPParams

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomCasterFPParams
protectedinherited

Definition at line 870 of file OgreSceneManager.h.

◆ mShadowTextureCustomCasterFragmentProgram

String Ogre::SceneManager::mShadowTextureCustomCasterFragmentProgram
protectedinherited

Definition at line 866 of file OgreSceneManager.h.

◆ mShadowTextureCustomCasterPass

Pass* Ogre::SceneManager::mShadowTextureCustomCasterPass
protectedinherited

Definition at line 863 of file OgreSceneManager.h.

◆ mShadowTextureCustomCasterVertexProgram

String Ogre::SceneManager::mShadowTextureCustomCasterVertexProgram
protectedinherited

Definition at line 865 of file OgreSceneManager.h.

◆ mShadowTextureCustomCasterVPParams

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomCasterVPParams
protectedinherited

Definition at line 869 of file OgreSceneManager.h.

◆ mShadowTextureCustomReceiverFPParams

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomReceiverFPParams
protectedinherited

Definition at line 872 of file OgreSceneManager.h.

◆ mShadowTextureCustomReceiverFragmentProgram

String Ogre::SceneManager::mShadowTextureCustomReceiverFragmentProgram
protectedinherited

Definition at line 868 of file OgreSceneManager.h.

◆ mShadowTextureCustomReceiverPass

Pass* Ogre::SceneManager::mShadowTextureCustomReceiverPass
protectedinherited

Definition at line 864 of file OgreSceneManager.h.

◆ mShadowTextureCustomReceiverVertexProgram

String Ogre::SceneManager::mShadowTextureCustomReceiverVertexProgram
protectedinherited

Definition at line 867 of file OgreSceneManager.h.

◆ mShadowTextureCustomReceiverVPParams

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomReceiverVPParams
protectedinherited

Definition at line 871 of file OgreSceneManager.h.

◆ mShadowTextureFadeEnd

Real Ogre::SceneManager::mShadowTextureFadeEnd
protectedinherited

As a proportion e.g. 0.6.

Definition at line 861 of file OgreSceneManager.h.

◆ mShadowTextureFadeStart

Real Ogre::SceneManager::mShadowTextureFadeStart
protectedinherited

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

Definition at line 860 of file OgreSceneManager.h.

◆ mShadowTextureIndexLightList

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

Array defining shadow texture index in light list.

Definition at line 508 of file OgreSceneManager.h.

◆ mShadowTextureOffset

Real Ogre::SceneManager::mShadowTextureOffset
protectedinherited

Definition at line 859 of file OgreSceneManager.h.

◆ mShadowTextures

ShadowTextureList Ogre::SceneManager::mShadowTextures
protectedinherited

Definition at line 748 of file OgreSceneManager.h.

◆ mShadowTextureSelfShadow

bool Ogre::SceneManager::mShadowTextureSelfShadow
protectedinherited

As a proportion e.g. 0.9.

Definition at line 862 of file OgreSceneManager.h.

◆ mShadowUseInfiniteFarPlane

bool Ogre::SceneManager::mShadowUseInfiniteFarPlane
protectedinherited

Definition at line 753 of file OgreSceneManager.h.

◆ mShowBoundingBoxes

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 693 of file OgreSceneManager.h.

◆ mSkyBoxEnabled

bool Ogre::SceneManager::mSkyBoxEnabled
protectedinherited

Definition at line 457 of file OgreSceneManager.h.

◆ mSkyBoxGenParameters

SkyBoxGenParameters Ogre::SceneManager::mSkyBoxGenParameters
protectedinherited

Definition at line 460 of file OgreSceneManager.h.

◆ mSkyBoxNode

SceneNode* Ogre::SceneManager::mSkyBoxNode
protectedinherited

Definition at line 449 of file OgreSceneManager.h.

◆ mSkyBoxObj

ManualObject* Ogre::SceneManager::mSkyBoxObj
protectedinherited

Definition at line 445 of file OgreSceneManager.h.

◆ mSkyBoxOrientation

Quaternion Ogre::SceneManager::mSkyBoxOrientation
protectedinherited

Definition at line 459 of file OgreSceneManager.h.

◆ mSkyBoxRenderQueue

uint8 Ogre::SceneManager::mSkyBoxRenderQueue
protectedinherited

Definition at line 458 of file OgreSceneManager.h.

◆ mSkyDomeEnabled

bool Ogre::SceneManager::mSkyDomeEnabled
protectedinherited

Definition at line 462 of file OgreSceneManager.h.

◆ mSkyDomeEntity

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

Definition at line 444 of file OgreSceneManager.h.

◆ mSkyDomeGenParameters

SkyDomeGenParameters Ogre::SceneManager::mSkyDomeGenParameters
protectedinherited

Definition at line 465 of file OgreSceneManager.h.

◆ mSkyDomeNode

SceneNode* Ogre::SceneManager::mSkyDomeNode
protectedinherited

Definition at line 448 of file OgreSceneManager.h.

◆ mSkyDomeOrientation

Quaternion Ogre::SceneManager::mSkyDomeOrientation
protectedinherited

Definition at line 464 of file OgreSceneManager.h.

◆ mSkyDomeRenderQueue

uint8 Ogre::SceneManager::mSkyDomeRenderQueue
protectedinherited

Definition at line 463 of file OgreSceneManager.h.

◆ mSkyPlane

Plane Ogre::SceneManager::mSkyPlane
protectedinherited

Definition at line 454 of file OgreSceneManager.h.

◆ mSkyPlaneEnabled

bool Ogre::SceneManager::mSkyPlaneEnabled
protectedinherited

Definition at line 452 of file OgreSceneManager.h.

◆ mSkyPlaneEntity

Entity* Ogre::SceneManager::mSkyPlaneEntity
protectedinherited

Definition at line 443 of file OgreSceneManager.h.

◆ mSkyPlaneGenParameters

SkyPlaneGenParameters Ogre::SceneManager::mSkyPlaneGenParameters
protectedinherited

Definition at line 455 of file OgreSceneManager.h.

◆ mSkyPlaneNode

SceneNode* Ogre::SceneManager::mSkyPlaneNode
protectedinherited

Definition at line 447 of file OgreSceneManager.h.

◆ mSkyPlaneRenderQueue

uint8 Ogre::SceneManager::mSkyPlaneRenderQueue
protectedinherited

Definition at line 453 of file OgreSceneManager.h.

◆ mSpecialCaseQueueList

SpecialCaseRenderQueueList Ogre::SceneManager::mSpecialCaseQueueList
protectedinherited

Definition at line 475 of file OgreSceneManager.h.

◆ mSpecialCaseQueueMode

SpecialCaseRenderQueueMode Ogre::SceneManager::mSpecialCaseQueueMode
protectedinherited

Definition at line 476 of file OgreSceneManager.h.

◆ mStaticGeometryList

StaticGeometryList Ogre::SceneManager::mStaticGeometryList
protectedinherited

Definition at line 412 of file OgreSceneManager.h.

◆ mSuppressRenderStateChanges

bool Ogre::SceneManager::mSuppressRenderStateChanges
protectedinherited

Suppress render state changes?

Definition at line 879 of file OgreSceneManager.h.

◆ mSuppressShadows

bool Ogre::SceneManager::mSuppressShadows
protectedinherited

Suppress shadows?

Definition at line 881 of file OgreSceneManager.h.

◆ mTempXform

Matrix4 Ogre::SceneManager::mTempXform[256]
protectedinherited

Definition at line 480 of file OgreSceneManager.h.

◆ mTestLightInfos

LightInfoList Ogre::SceneManager::mTestLightInfos
protectedinherited

Definition at line 537 of file OgreSceneManager.h.

◆ mVisibilityMask

uint32 Ogre::SceneManager::mVisibilityMask
protectedinherited

Visibility mask used to show / hide objects.

Definition at line 875 of file OgreSceneManager.h.

◆ mWorldGeometryRenderQueue

uint8 Ogre::SceneManager::mWorldGeometryRenderQueue
protectedinherited

Definition at line 477 of file OgreSceneManager.h.

◆ STATICGEOMETRY_TYPE_MASK

uint32 Ogre::SceneManager::STATICGEOMETRY_TYPE_MASK
staticinherited

Query type mask which will be used for StaticGeometry.

See also
SceneQuery

Definition at line 153 of file OgreSceneManager.h.

◆ USER_TYPE_MASK_LIMIT

uint32 Ogre::SceneManager::USER_TYPE_MASK_LIMIT
staticinherited

User type mask limit.

Definition at line 159 of file OgreSceneManager.h.

◆ WORLD_GEOMETRY_TYPE_MASK

uint32 Ogre::SceneManager::WORLD_GEOMETRY_TYPE_MASK
staticinherited

Query type mask which will be used for world geometry.

See also
SceneQuery

Definition at line 147 of file OgreSceneManager.h.


The documentation for this class was generated from the following file: