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

Ogre::TerrainSceneManager Class Reference

This is a basic SceneManager for organizing TerrainRenderables into a total landscape. More...

#include <OgreTerrainSceneManager.h>

Inheritance diagram for Ogre::TerrainSceneManager:

Ogre::OctreeSceneManager Ogre::SceneManager List of all members.

Public Types

typedef std::map< String,
TerrainPageSource * > 
PageSourceMap
 Internal map of page source name to page source.

typedef ConstMapIterator<
PageSourceMap
PageSourceIterator
 Iterator over all page sources.

typedef MapIterator< SceneLightListLightIterator
typedef MapIterator< EntityListEntityIterator
typedef MapIterator< CameraListCameraIterator
typedef MapIterator< BillboardSetListBillboardSetIterator
typedef MapIterator< AnimationListAnimationIterator
enum  IlluminationRenderStage {
  IRS_NONE, IRS_AMBIENT, IRS_PER_LIGHT, IRS_DECAL,
  IRS_RENDER_TO_TEXTURE, IRS_RENDER_MODULATIVE_PASS
}
 Describes the stage of rendering when performing complex illumination. More...

enum  SpecialCaseRenderQueueMode { SCRQM_INCLUDE, SCRQM_EXCLUDE }
 Enumeration of the possible modes allowed for processing the special case render queue list. More...

enum  PrefabType { PT_PLANE }
 Prefab shapes available without loading a model. More...


Public Member Functions

 TerrainSceneManager ()
virtual ~TerrainSceneManager ()
void setWorldGeometry (const String &filename)
 Loads the terrain using parameters int he given config file.

virtual void _renderVisibleObjects (void)
 Aligns TerrainRenderable neighbors, and renders them.

float getHeightAt (float x, float y)
 Returns the height at the given terrain coordinates.

bool intersectSegment (const Vector3 &start, const Vector3 &end, Vector3 *result)
void setWorldTexture (const String &textureName)
 Sets the texture to use for the main world texture.

void setDetailTexture (const String &textureName)
 Sets the texture to use for the detail texture.

void setDetailTextureRepeat (int repeat)
 Sets the number of times per tile the detail texture should be repeated.

void setTileSize (int size)
 Sets the dimensions of each tile (must be power of 2 + 1).

void setPageSize (int size)
 Sets the dimensions of each page (must be power of 2 + 1).

void setMaxPixelError (int pixelError)
 Sets the maximum screen space pixel error.

void setScale (const Vector3 &scale)
 Sets how to scale the terrain data.

void setMaxGeoMipMapLevel (int maxMip)
 Sets the maximum geomipmap level to allow.

const StringgetWorldTexture (void)
 Gets the texture to use for the main world texture.

const StringgetDetailTexture (void)
 Gets the texture to use for the detail texture.

int getDetailTextureRepeat (void)
 Gets the number of times per tile the detail texture should be repeated.

int getTileSize (void)
 Gets the dimensions of each tile (must be power of 2 + 1).

int getPageSize (void)
 Gets the dimensions of each page (must be power of 2 + 1).

int getMaxPixelError (void)
 Gets the maximum screen space pixel error.

const Vector3getScale (void)
 Gets how to scale the terrain data.

int getMaxGeoMipMapLevel (void)
 Gets the maximum geomipmap level to allow.

void setUseTriStrips (bool useStrips)
 Sets whether the terrain should use triangle strips or not.

void setUseLODMorph (bool useMorph)
 Sets whether or not terrain tiles should be morphed between LODs (NB requires vertex program support).

void setUseVertexNormals (bool useNormals)
 Sets whether vertex normals will be generated for the terrain.

void setUseVertexColours (bool useColours)
 Sets whether vertex colours will be used.

void setCustomMaterial (const String &materialName)
 Sets the name of a custom material to use to shade the landcape.

void setCustomMaterialMorphFactorParam (const String &paramName)
 Sets the name of the vertex program parameter to which to pass the LOD morph factor.

void setCustomMaterialMorphFactorParam (size_t paramIndex)
 Sets the index of the vertex program parameter to which to pass the LOD morph factor.

void setLODMorphStart (Real morphStart)
 Sets the distance at which the LOD will start to morph downwards, as a proportion of the distance between the LODs.

virtual TerrainRenderablegetTerrainTile (const Vector3 &pt)
 Returns the TerrainRenderable that contains the given pt.

virtual TerrainPagegetTerrainPage (const Vector3 &pt)
 Returns the TerrainPage that contains the given pt.

RaySceneQuerycreateRayQuery (const Ray &ray, unsigned long mask=0xFFFFFFFF)
 Creates a RaySceneQuery for this scene manager.

CameracreateCamera (const String &name)
 Overridden in order to store the first camera created as the primary one, for determining error metrics and the 'home' terrain page.

virtual bool setOption (const String &, const void *)
 Sets the given option for the SceneManager.

virtual void setPrimaryCamera (const Camera *cam)
 Sets the 'primary' camera, i.e.

PageSourceIterator getPageSourceIterator (void)
 Get an iterator over all page sources.

virtual void registerPageSource (const String &typeName, TerrainPageSource *source)
 Registers a TerrainPageSource class and associates it with a named type of source.

virtual void selectPageSource (const String &typeName, TerrainPageSourceOptionList &optionList)
 Selects a given page source based on its type name.

virtual void attachPage (ushort pageX, ushort pageZ, TerrainPage *page)
 Attaches a previously built page to the list of available pages.

MaterialPtrgetTerrainMaterial (void)
 Get a pointer to the material being used for the terrain.

void _renderScene (Camera *cam, Viewport *vp, bool includeOverlays)
 Prompts the class to send its contents to the renderer.

SceneNodegetTerrainRootNode (void) const
 Get the SceneNode under which all terrain nodes are attached.

void clearScene (void)
 Overridden from SceneManager.

void setWorldGeometryRenderQueue (RenderQueueGroupID qid)
 Overridden from SceneManager.

void shutdown (void)
 Shutdown cleanly before we get destroyed.

void init (AxisAlignedBox &box, int d)
 Initializeds the manager to the given box and depth.

virtual SceneNodecreateSceneNode (void)
 Creates a specialized OctreeNode.

virtual SceneNodecreateSceneNode (const String &name)
 Creates a specialized OctreeNode.

virtual void destroySceneNode (const String &name)
 Deletes a scene node.

virtual void _updateSceneGraph (Camera *cam)
 Does nothing more.

virtual void _findVisibleObjects (Camera *cam, bool onlyShadowCasters)
 Recurses through the octree determining which nodes are visible.

virtual void _alertVisibleObjects (void)
 Alerts each unculled object, notifying it that it will be drawn.

void walkOctree (OctreeCamera *, RenderQueue *, Octree *, bool foundvisible, bool onlyShadowCasters)
 Walks through the octree, adding any visible objects to the render queue.

void _updateOctreeNode (OctreeNode *)
 Checks the given OctreeNode, and determines if it needs to be moved to a different octant.

void _removeOctreeNode (OctreeNode *)
 Removes the given octree node.

void _addOctreeNode (OctreeNode *, Octree *octree, int depth=0)
 Adds the Octree Node, starting at the given octree, and recursing at max to the specified depth.

void findNodesIn (const AxisAlignedBox &box, std::list< SceneNode * > &list, SceneNode *exclude=0)
 Recurses the octree, adding any nodes intersecting with the box into the given list.

void findNodesIn (const Sphere &sphere, std::list< SceneNode * > &list, SceneNode *exclude=0)
 Recurses the octree, adding any nodes intersecting with the sphere into the given list.

void findNodesIn (const PlaneBoundedVolume &volume, std::list< SceneNode * > &list, SceneNode *exclude=0)
 Recurses the octree, adding any nodes intersecting with the volume into the given list.

void findNodesIn (const Ray &ray, std::list< SceneNode * > &list, SceneNode *exclude=0)
 Recurses the octree, adding any nodes intersecting with the ray into the given list.

void setShowBoxes (bool b)
 Sets the box visibility flag.

void setUseCullCamera (bool b)
 Sets the cull camera flag.

void setLooseOctree (bool b)
void resize (const AxisAlignedBox &box)
 Resizes the octree to the given size.

virtual bool getOption (const String &, void *)
 Gets the given option for the Scene Manager.

bool getOptionValues (const String &key, StringVector &refValueList)
 Method for getting all possible values for a specific option.

bool getOptionKeys (StringVector &refKeys)
 Method for getting all the implementation-specific options of the scene manager.

AxisAlignedBoxSceneQueryOctreeSceneManager::createAABBQuery (const AxisAlignedBox &box, unsigned long mask)
SphereSceneQueryOctreeSceneManager::createSphereQuery (const Sphere &sphere, unsigned long mask)
PlaneBoundedVolumeListSceneQuerycreatePlaneBoundedVolumeQuery (const PlaneBoundedVolumeList &volumes, unsigned long mask)
 Creates a PlaneBoundedVolumeListSceneQuery for this scene manager.

IntersectionSceneQuerycreateIntersectionQuery (unsigned long mask)
 Creates an IntersectionSceneQuery for this scene manager.

virtual CameragetCamera (const String &name)
 Retrieves a pointer to the named camera.

virtual void removeCamera (Camera *cam)
 Removes a camera from the scene.

virtual void removeCamera (const String &name)
 Removes a camera from the scene.

virtual void removeAllCameras (void)
 Removes (and destroys) all cameras from the scene.

virtual LightcreateLight (const String &name)
 Creates a light for use in the scene.

virtual LightgetLight (const String &name)
 Returns a pointer to the named Light which has previously been added to the scene.

virtual void removeLight (const String &name)
 Removes the named light from the scene and destroys it.

virtual void removeLight (Light *light)
 Removes the light from the scene and destroys it based on a pointer.

virtual void removeAllLights (void)
 Removes and destroys all lights in the scene.

virtual void _populateLightList (const Vector3 &position, Real radius, LightList &destList)
 Populate a light list with an ordered set of the lights which are closest to the position specified.

virtual SceneNodegetRootSceneNode (void) const
 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 EntitycreateEntity (const String &entityName, const String &meshName)
 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 EntitygetEntity (const String &name)
 Retrieves a pointer to the named Entity.

virtual void removeEntity (Entity *ent)
 Removes & destroys an Entity from the SceneManager.

virtual void removeEntity (const String &name)
 Removes & destroys an Entity from the SceneManager by name.

virtual void removeAllEntities (void)
 Removes & destroys all Entities.

void setAmbientLight (const ColourValue &colour)
 Sets the ambient light level to be used for the scene.

const ColourValuegetAmbientLight (void) const
 Returns the ambient light level to be used for the scene.

virtual size_t estimateWorldGeometry (const String &filename)
 Estimate the number of loading stages required to load the named world geometry.

virtual ViewPoint getSuggestedViewpoint (bool random=false)
 Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed.

virtual bool hasOption (const String &strKey) const
 Method for verifying wether the scene manager has an implementation-specific option.

virtual void _applySceneAnimations (void)
 Internal method for applying animations to scene nodes.

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 _setDestinationRenderSystem (RenderSystem *sys)
 Notifies the scene manager of its destination render system.

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 bool isSkyPlaneEnabled (void) const
 Return whether a key plane is enabled.

virtual SceneNodegetSkyPlaneNode (void)
 Get the sky plane node, if enabled.

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 bool isSkyBoxEnabled (void) const
 Return whether a skybox is enabled.

virtual SceneNodegetSkyBoxNode (void) const
 Get the skybox node, if enabled.

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 bool isSkyDomeEnabled (void) const
 Return whether a skydome is enabled.

virtual SceneNodegetSkyDomeNode (void)
 Get the sky dome node, if enabled.

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 FogMode getFogMode (void) const
 Returns the fog mode for the scene.

virtual const ColourValuegetFogColour (void) const
 Returns the fog colour for the scene.

virtual Real getFogStart (void) const
 Returns the fog start distance for the scene.

virtual Real getFogEnd (void) const
 Returns the fog end distance for the scene.

virtual Real getFogDensity (void) const
 Returns the fog density for the scene.

virtual BillboardSetcreateBillboardSet (const String &name, unsigned int poolSize=20)
 Creates a new BillboardSet for use with this scene manager.

virtual BillboardSetgetBillboardSet (const String &name)
 Retrieves a pointer to the named BillboardSet.

virtual void removeBillboardSet (BillboardSet *set)
 Removes & destroys an BillboardSet from the SceneManager.

virtual void removeBillboardSet (const String &name)
 Removes & destroys an BillboardSet from the SceneManager by name.

virtual void removeAllBillboardSets (void)
 Removes & destroys all BillboardSets.

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 AnimationcreateAnimation (const String &name, Real length)
 Creates an animation which can be used to animate scene nodes.

virtual AnimationgetAnimation (const String &name) const
 Looks up an Animation object previously created with createAnimation.

virtual void destroyAnimation (const String &name)
 Destroys an Animation.

virtual void destroyAllAnimations (void)
 Removes all animations created using this SceneManager.

virtual AnimationStatecreateAnimationState (const String &animName)
 Create an AnimationState object for managing application of animations.

virtual AnimationStategetAnimationState (const String &animName)
 Retrieves animation state as previously created using createAnimationState.

virtual void destroyAnimationState (const String &name)
 Destroys an AnimationState.

virtual void destroyAllAnimationStates (void)
 Removes all animation states created using this SceneManager.

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.

virtual RenderQueuegetRenderQueue (void)
 Retrieves the internal render queue, for advanced users only.

virtual void addRenderQueueListener (RenderQueueListener *newListener)
 Registers a new RenderQueueListener which will be notified when render queues are processed.

virtual void removeRenderQueueListener (RenderQueueListener *delListener)
 Removes a listener previously added with addRenderQueueListener.

virtual void addSpecialCaseRenderQueue (RenderQueueGroupID qid)
 Adds an item to the 'special case' render queue list.

virtual void removeSpecialCaseRenderQueue (RenderQueueGroupID qid)
 Removes an item to the 'special case' render queue list.

virtual void clearSpecialCaseRenderQueues (void)
 Clears the 'special case' render queue list.

virtual void setSpecialCaseRenderQueueMode (SpecialCaseRenderQueueMode mode)
 Sets the way the special case render queue list is processed.

virtual SpecialCaseRenderQueueMode getSpecialCaseRenderQueueMode (void)
 Gets the way the special case render queue list is processed.

virtual bool isRenderQueueToBeProcessed (RenderQueueGroupID qid)
 Returns whether or not the named queue will be rendered based on the current 'special case' render queue list and mode.

virtual RenderQueueGroupID getWorldGeometryRenderQueue (void)
 Gets 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.

virtual bool getShowBoundingBoxes () const
 Returns if all bounding boxes of scene nodes are to be displayed.

virtual void _notifyAutotrackingSceneNode (SceneNode *node, bool autoTrack)
 Internal method for notifying the manager that a SceneNode is autotracking.

virtual AxisAlignedBoxSceneQuerycreateAABBQuery (const AxisAlignedBox &box, unsigned long mask=0xFFFFFFFF)
 Creates an AxisAlignedBoxSceneQuery for this scene manager.

virtual SphereSceneQuerycreateSphereQuery (const Sphere &sphere, unsigned long mask=0xFFFFFFFF)
 Creates a SphereSceneQuery for this scene manager.

virtual void destroyQuery (SceneQuery *query)
 Destroys a scene query of any type.

LightIterator getLightIterator (void)
 Returns a specialised MapIterator over all lights in the scene.

EntityIterator getEntityIterator (void)
 Returns a specialised MapIterator over all entities in the scene.

CameraIterator getCameraIterator (void)
 Returns a specialised MapIterator over all cameras in the scene.

BillboardSetIterator getBillboardSetIterator (void)
 Returns a specialised MapIterator over all BillboardSets in the scene.

AnimationIterator getAnimationIterator (void)
 Returns a specialised MapIterator over all animations in the scene.

AnimationStateIterator getAnimationStateIterator (void)
 Returns a specialised MapIterator over all animation states in the scene.

virtual void setShadowTechnique (ShadowTechnique technique)
 Sets the general shadow technique to be used in this scene.

virtual ShadowTechnique getShadowTechnique (void) const
 Gets the current shadow technique.

virtual void setShowDebugShadows (bool debug)
 Enables / disables the rendering of debug information for shadows.

virtual bool getShowDebugShadows (void) const
 Are debug shadows shown?

virtual void setShadowColour (const ColourValue &colour)
 Set the colour used to modulate areas in shadow.

virtual const ColourValuegetShadowColour (void) const
 Get 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 Real getShadowDirectionalLightExtrusionDistance (void) const
 Gets the distance a shadow volume is extruded for a directional light.

virtual void setShadowFarDistance (Real distance)
 Sets the maximum distance away from the camera that shadows will be visible.

virtual Real getShadowFarDistance (void) const
 Gets the 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 size_t getShadowIndexBufferSize (void) const
 Get the size of the shadow index buffer.

virtual void setShadowTextureSize (unsigned short size)
 Set the size of the texture used for texture-based shadows.

unsigned short getShadowTextureSize (void) const
 Get the size of the texture used for texture based shadows.

virtual void setShadowTexturePixelFormat (PixelFormat fmt)
 Set the pixel format of the textures used for texture-based shadows.

PixelFormat getShadowTexturePixelFormat (void) const
 Get the format of the textures used for texture based shadows.

virtual void setShadowTextureCount (unsigned short count)
 Set the number of textures allocated for texture-based shadows.

unsigned short getShadowTextureCount (void) const
 Get the number of the textures allocated for texture based shadows.

virtual void setShadowTextureSettings (unsigned short size, unsigned short count, PixelFormat fmt=PF_X8R8G8B8)
 Sets the size and count of textures used in texture-based shadows.

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 setShadowTextureFadeStart (Real fadeStart)
 Sets the proportional distance at which texture shadows begin to fade out.

virtual void setShadowTextureFadeEnd (Real fadeEnd)
 Sets the proportional distance at which texture shadows finish to fading out.

virtual void setShadowTextureSelfShadow (bool selfShadow)
 Sets whether or not texture shadows should attempt to self-shadow.

virtual bool getShadowTextureSelfShadow (void) const
 Gets whether or not texture shadows attempt to self-shadow.

virtual void setShadowTextureCasterMaterial (const String &name)
 Sets the default material to use for rendering shadow casters.

virtual void setShadowTextureReceiverMaterial (const String &name)
 Sets the default material to use for rendering shadow receivers.

virtual void setShadowUseInfiniteFarPlane (bool enable)
 Sets whether we should use an inifinite camera far plane when rendering stencil shadows.

virtual StaticGeometrycreateStaticGeometry (const String &name)
 Creates a StaticGeometry instance suitable for use with this SceneManager.

virtual StaticGeometrygetStaticGeometry (const String &name) const
 Retrieve a previously created StaticGeometry instance.

virtual void removeStaticGeometry (StaticGeometry *geom)
 Remove & destroy a StaticGeometry instance.

virtual void removeStaticGeometry (const String &name)
 Remove & destroy a StaticGeometry instance.

virtual void removeAllStaticGeometry (void)
 Remove & destroy all StaticGeometry instances.


Static Public Member Functions

const TerrainOptionsgetOptions (void)
 Gets the terrain options.


Static Public Attributes

int intersect_call
unsigned long WORLD_GEOMETRY_QUERY_MASK
 Query mask which will be used for world geometry SceneQuery.


Protected Types

typedef std::map< String,
Camera * > 
CameraList
typedef std::map< String,
Light * > 
SceneLightList
typedef std::map< String,
Entity * > 
EntityList
typedef std::map< String,
BillboardSet * > 
BillboardSetList
typedef std::map< String,
StaticGeometry * > 
StaticGeometryList
typedef std::map< String,
SceneNode * > 
SceneNodeList
typedef std::set< SceneNode * > AutoTrackingSceneNodes
 Autotracking scene nodes.

typedef std::set< RenderQueueGroupIDSpecialCaseRenderQueueList
typedef std::map< String,
Animation * > 
AnimationList
 Storage of animations, lookup by name.

typedef std::vector< RenderQueueListener * > RenderQueueListenerList
typedef std::vector< RenderTexture * > ShadowTextureList
typedef std::vector< ShadowCaster * > ShadowCasterList
enum  BoxPlane {
  BP_FRONT = 0, BP_BACK = 1, BP_LEFT = 2, BP_RIGHT = 3,
  BP_UP = 4, BP_DOWN = 5
}

Protected Member Functions

bool _checkSize (int s)
 Validates that the size picked for the terrain is acceptable.

void loadConfig (const String &filename)
 Internal method for loading configurations settings.

void setupTerrainMaterial (void)
 Sets up the terrain material.

void setupTerrainPages (void)
 Sets up the terrain page slots.

virtual void initRenderQueue (void)
 Internal method for initialising the render queue.

virtual PasssetPass (Pass *pass)
 Internal method for setting up the renderstate for a rendering pass.

PassderiveShadowCasterPass (Pass *pass)
 Internal method for turning a regular pass into a shadow caster pass.

PassderiveShadowReceiverPass (Pass *pass)
 Internal method for turning a regular pass into a shadow receiver pass.

bool validatePassForRendering (Pass *pass)
 Internal method to validate whether a Pass should be allowed to render.

bool validateRenderableForRendering (Pass *pass, Renderable *rend)
 Internal method to validate whether a Renderable should be allowed to render.

MeshPtr createSkyboxPlane (BoxPlane bp, Real distance, const Quaternion &orientation, const String &groupName)
MeshPtr createSkydomePlane (BoxPlane bp, Real curvature, Real tiling, Real distance, const Quaternion &orientation, int xsegments, int ysegments, int ySegmentsToKeep, const String &groupName)
void useRenderableViewProjMode (Renderable *pRend)
 Internal method used by _renderVisibleObjects to deal with renderables which override the camera's own view / projection materices.

bool fireRenderQueueStarted (RenderQueueGroupID id)
 Internal method for firing the queue start event, returns true if queue is to be skipped.

bool fireRenderQueueEnded (RenderQueueGroupID id)
 Internal method for firing the queue end event, returns true if queue is to be repeated.

virtual void setViewport (Viewport *vp)
 Internal method for setting the destination viewport for the next render.

virtual void renderSingleObject (Renderable *rend, Pass *pass, bool doLightIteration, const LightList *manualLightList=0)
 Internal utility method for rendering a single object.

virtual void findLightsAffectingFrustum (const Camera *camera)
 Internal method for locating a list of lights which could be affecting the frustum.

virtual void initShadowVolumeMaterials (void)
 Internal method for setting up materials for shadows.

virtual void createShadowTextures (unsigned short size, unsigned short count, PixelFormat fmt)
 Internal method for creating shadow textures (texture-based shadows).

virtual void destroyShadowTextures (void)
 Internal method for destroying shadow textures (texture-based shadows).

virtual void prepareShadowTextures (Camera *cam, Viewport *vp)
 Internal method for preparing shadow textures ready for use in a regular render.

virtual void renderShadowVolumesToStencil (const Light *light, const Camera *cam)
 Internal method for rendering all the objects for a given light into the stencil buffer.

virtual void setShadowVolumeStencilState (bool secondpass, bool zfail, bool twosided)
 Internal utility method for setting stencil state for rendering shadow volumes.

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 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 renderQueueGroupObjects (RenderQueueGroup *group)
 Render the objects in a given queue group.

virtual void renderBasicQueueGroupObjects (RenderQueueGroup *pGroup)
 Render a group in the ordinary way.

virtual void renderAdditiveStencilShadowedQueueGroupObjects (RenderQueueGroup *group)
 Render a group with the added complexity of additive stencil shadows.

virtual void renderModulativeStencilShadowedQueueGroupObjects (RenderQueueGroup *group)
 Render a group with the added complexity of additive stencil shadows.

virtual void renderTextureShadowCasterQueueGroupObjects (RenderQueueGroup *group)
 Render a group rendering only shadow casters.

virtual void renderTextureShadowReceiverQueueGroupObjects (RenderQueueGroup *group)
 Render a group rendering only shadow receivers.

virtual void renderModulativeTextureShadowedQueueGroupObjects (RenderQueueGroup *group)
 Render a group with the added complexity of additive stencil shadows.

virtual void renderObjects (const RenderPriorityGroup::SolidRenderablePassMap &objs, bool doLightIteration, const LightList *manualLightList=0)
 Render a set of objects, see renderSingleObject for param definitions.

virtual void renderObjects (const RenderPriorityGroup::TransparentRenderablePassList &objs, bool doLightIteration, const LightList *manualLightList=0)
 Render a set of objects, see renderSingleObject for param definitions.

virtual void renderTransparentShadowCasterObjects (const RenderPriorityGroup::TransparentRenderablePassList &objs, bool doLightIteration, const LightList *manualLightList=0)
 Render those objects in the transparent pass list which have shadow casting forced on.


Protected Attributes

SceneNodemTerrainRoot
 The node to which all terrain tiles are attached.

bool mUseCustomMaterial
 Should we use an externally-defined custom material?

String mCustomMaterialName
 The name of the custom material to use.

String mWorldTextureName
 The name of the world texture.

String mDetailTextureName
 The name of the detail texture.

bool mUseNamedParameterLodMorph
 Are we using a named parameter to hook up LOD morph?

String mLodMorphParamName
 The name of the parameter to send the LOD morph to.

size_t mLodMorphParamIndex
 The index of the parameter to send the LOD morph to.

bool mPagingEnabled
 Whether paging is enabled, or whether a single page will be used.

unsigned short mLivePageMargin
 The number of pages to render outside the 'home' page.

unsigned short mBufferedPageMargin
 The number of pages to keep loaded outside the 'home' page.

TerrainPage2D mTerrainPages
 Grid of buffered pages.

PageSourceMap mPageSources
 Map of source type -> TerrainPageSource.

TerrainPageSourcemActivePageSource
 The currently active page source.

NodeList mVisible
OctreemOctree
 The root octree.

BoxList mBoxes
 list of boxes to be rendered

int mNumObjects
 number of rendered objs

int mMaxDepth
 max depth for the tree.

AxisAlignedBox mBox
 Size of the octree.

bool mShowBoxes
 box visibility flag

bool mCullCamera
 cull camera flag

bool mLoose
Real mCorners [24]
Matrix4 mScaleFactor
RenderQueuemRenderQueue
 Queue of objects for rendering.

ColourValue mAmbientLight
 Current ambient light, cached for RenderSystem.

RenderSystemmDestRenderSystem
 The rendering system to send the scene to.

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

SceneLightList mLights
 Central list of lights - for easy memory management and lookup.

EntityList mEntities
 Central list of entities - for easy memory management and lookup.

BillboardSetList mBillboardSets
 Central list of billboard sets - for easy memory management and lookup.

StaticGeometryList mStaticGeometryList
SceneNodeList mSceneNodes
 Central list of SceneNodes - for easy memory management.

CameramCameraInProgress
 Camera in progress.

ViewportmCurrentViewport
 Current Viewport.

SceneNodemSceneRoot
 Root scene node.

AutoTrackingSceneNodes mAutoTrackingSceneNodes
EntitymSkyPlaneEntity
EntitymSkyDomeEntity [5]
EntitymSkyBoxEntity [6]
SceneNodemSkyPlaneNode
SceneNodemSkyDomeNode
SceneNodemSkyBoxNode
bool mSkyPlaneEnabled
bool mSkyPlaneDrawFirst
Plane mSkyPlane
bool mSkyBoxEnabled
bool mSkyBoxDrawFirst
Quaternion mSkyBoxOrientation
bool mSkyDomeEnabled
bool mSkyDomeDrawFirst
Quaternion mSkyDomeOrientation
FogMode mFogMode
ColourValue mFogColour
Real mFogStart
Real mFogEnd
Real mFogDensity
SpecialCaseRenderQueueList mSpecialCaseQueueList
SpecialCaseRenderQueueMode mSpecialCaseQueueMode
RenderQueueGroupID mWorldGeometryRenderQueue
PassmShadowCasterPlainBlackPass
 A pass designed to let us render shadow colour on white for texture shadows.

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

bool mDisplayNodes
AnimationList mAnimationsList
AnimationStateSet mAnimationStates
bool mCamChanged
 Controller flag for determining if we need to set view/proj matrices.

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

AutoParamDataSource mAutoParamDataSource
 Utility class for calculating automatic parameters for gpu programs.

ShadowTechnique mShadowTechnique
bool mDebugShadows
ColourValue mShadowColour
PassmShadowDebugPass
PassmShadowStencilPass
PassmShadowModulativePass
bool mShadowMaterialInitDone
LightList mLightsAffectingFrustum
HardwareIndexBufferSharedPtr mShadowIndexBuffer
size_t mShadowIndexBufferSize
Rectangle2DmFullScreenQuad
Real mShadowDirLightExtrudeDist
IlluminationRenderStage mIlluminationStage
unsigned short mShadowTextureSize
unsigned short mShadowTextureCount
PixelFormat mShadowTextureFormat
ShadowTextureList mShadowTextures
RenderTexturemCurrentShadowTexture
bool mShadowUseInfiniteFarPlane
ShadowCasterList mShadowCasterList
SphereSceneQuerymShadowCasterSphereQuery
AxisAlignedBoxSceneQuerymShadowCasterAABBQuery
Real mShadowFarDist
Real mShadowFarDistSquared
Real mShadowTextureOffset
Real mShadowTextureFadeStart
Real mShadowTextureFadeEnd
bool mShadowTextureSelfShadow
PassmShadowTextureCustomCasterPass
PassmShadowTextureCustomReceiverPass
String mShadowTextureCustomCasterVertexProgram
String mShadowTextureCustomReceiverVertexProgram
GpuProgramParametersSharedPtr mShadowTextureCustomCasterVPParams
GpuProgramParametersSharedPtr mShadowTextureCustomReceiverVPParams
bool mShadowTextureCasterVPDirty
bool mShadowTextureReceiverVPDirty
GpuProgramParametersSharedPtr mInfiniteExtrusionParams
GpuProgramParametersSharedPtr mFiniteExtrusionParams
ShadowCasterSceneQueryListener * mShadowCasterQueryListener

Static Protected Attributes

TerrainOptions mOptions
 Terrain size, detail etc.

unsigned long mColors [8]
unsigned short mIndexes [24]

Detailed Description

This is a basic SceneManager for organizing TerrainRenderables into a total landscape.

It loads a terrain from a .cfg file that specifices what textures/scale/mipmaps/etc to use.

Author:
Jon Anderson

Definition at line 73 of file OgreTerrainSceneManager.h.


Member Typedef Documentation

typedef MapIterator<AnimationList> Ogre::SceneManager::AnimationIterator [inherited]
 

Definition at line 1494 of file OgreSceneManager.h.

Referenced by Ogre::SceneManager::getAnimationIterator().

typedef std::map<String, Animation*> Ogre::SceneManager::AnimationList [protected, inherited]
 

Storage of animations, lookup by name.

Definition at line 304 of file OgreSceneManager.h.

typedef std::set<SceneNode*> Ogre::SceneManager::AutoTrackingSceneNodes [protected, inherited]
 

Autotracking scene nodes.

Definition at line 184 of file OgreSceneManager.h.

typedef MapIterator<BillboardSetList> Ogre::SceneManager::BillboardSetIterator [inherited]
 

Definition at line 1493 of file OgreSceneManager.h.

Referenced by Ogre::SceneManager::getBillboardSetIterator().

typedef std::map<String, BillboardSet* > Ogre::SceneManager::BillboardSetList [protected, inherited]
 

Definition at line 156 of file OgreSceneManager.h.

typedef MapIterator<CameraList> Ogre::SceneManager::CameraIterator [inherited]
 

Definition at line 1492 of file OgreSceneManager.h.

Referenced by Ogre::SceneManager::getCameraIterator().

typedef std::map<String, Camera* > Ogre::SceneManager::CameraList [protected, inherited]
 

Definition at line 137 of file OgreSceneManager.h.

typedef MapIterator<EntityList> Ogre::SceneManager::EntityIterator [inherited]
 

Definition at line 1491 of file OgreSceneManager.h.

Referenced by Ogre::SceneManager::getEntityIterator().

typedef std::map<String, Entity* > Ogre::SceneManager::EntityList [protected, inherited]
 

Definition at line 150 of file OgreSceneManager.h.

typedef MapIterator<SceneLightList> Ogre::SceneManager::LightIterator [inherited]
 

Definition at line 1490 of file OgreSceneManager.h.

Referenced by Ogre::SceneManager::getLightIterator().

typedef ConstMapIterator<PageSourceMap> Ogre::TerrainSceneManager::PageSourceIterator
 

Iterator over all page sources.

Definition at line 271 of file OgreTerrainSceneManager.h.

typedef std::map<String, TerrainPageSource*> Ogre::TerrainSceneManager::PageSourceMap
 

Internal map of page source name to page source.

Definition at line 268 of file OgreTerrainSceneManager.h.

typedef std::vector<RenderQueueListener*> Ogre::SceneManager::RenderQueueListenerList [protected, inherited]
 

Definition at line 315 of file OgreSceneManager.h.

typedef std::map<String, Light* > Ogre::SceneManager::SceneLightList [protected, inherited]
 

Definition at line 143 of file OgreSceneManager.h.

typedef std::map<String, SceneNode*> Ogre::SceneManager::SceneNodeList [protected, inherited]
 

Definition at line 165 of file OgreSceneManager.h.

typedef std::vector<ShadowCaster*> Ogre::SceneManager::ShadowCasterList [protected, inherited]
 

Definition at line 400 of file OgreSceneManager.h.

Referenced by Ogre::SceneManager::ShadowCasterSceneQueryListener::prepare().

typedef std::vector<RenderTexture*> Ogre::SceneManager::ShadowTextureList [protected, inherited]
 

Definition at line 363 of file OgreSceneManager.h.

typedef std::set<RenderQueueGroupID> Ogre::SceneManager::SpecialCaseRenderQueueList [protected, inherited]
 

Definition at line 215 of file OgreSceneManager.h.

typedef std::map<String, StaticGeometry* > Ogre::SceneManager::StaticGeometryList [protected, inherited]
 

Definition at line 162 of file OgreSceneManager.h.


Member Enumeration Documentation

enum Ogre::SceneManager::BoxPlane [protected, inherited]
 

Enumeration values:
BP_FRONT 
BP_BACK 
BP_LEFT 
BP_RIGHT 
BP_UP 
BP_DOWN 

Definition at line 273 of file OgreSceneManager.h.

enum Ogre::SceneManager::IlluminationRenderStage [inherited]
 

Describes the stage of rendering when performing complex illumination.

Enumeration values:
IRS_NONE  No special illumination stage.
IRS_AMBIENT  Ambient stage, when background light is added.
IRS_PER_LIGHT  Diffuse / specular stage, when individual light contributions are added.
IRS_DECAL  Decal stage, when texture detail is added to the lit base.
IRS_RENDER_TO_TEXTURE  Render to texture stage, used for texture based shadows.
IRS_RENDER_MODULATIVE_PASS  Modulative render from shadow texture stage.

Definition at line 99 of file OgreSceneManager.h.

enum Ogre::SceneManager::PrefabType [inherited]
 

Prefab shapes available without loading a model.

Note:
Minimal implementation at present.

Todo:
Add more prefabs (teapots, teapots!!!)
Enumeration values:
PT_PLANE 

Definition at line 678 of file OgreSceneManager.h.

enum Ogre::SceneManager::SpecialCaseRenderQueueMode [inherited]
 

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

See also:
SceneManager::setSpecialCaseRenderQueueMode
Enumeration values:
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 119 of file OgreSceneManager.h.


Constructor & Destructor Documentation

Ogre::TerrainSceneManager::TerrainSceneManager  ) 
 

virtual Ogre::TerrainSceneManager::~TerrainSceneManager  )  [virtual]
 


Member Function Documentation

void Ogre::OctreeSceneManager::_addOctreeNode OctreeNode ,
Octree octree,
int  depth = 0
[inherited]
 

Adds the Octree Node, starting at the given octree, and recursing at max to the specified depth.

virtual void Ogre::OctreeSceneManager::_alertVisibleObjects void   )  [virtual, inherited]
 

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

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

virtual void Ogre::SceneManager::_applySceneAnimations void   )  [virtual, inherited]
 

Internal method for applying animations to scene nodes.

Remarks:
Uses the internally stored AnimationState objects to apply animation to SceneNodes.

bool Ogre::TerrainSceneManager::_checkSize int  s  )  [protected]
 

Validates that the size picked for the terrain is acceptable.

Definition at line 330 of file OgreTerrainSceneManager.h.

virtual void Ogre::OctreeSceneManager::_findVisibleObjects Camera cam,
bool  onlyShadowCasters
[virtual, inherited]
 

Recurses through the octree determining which nodes are visible.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::SceneManager::_notifyAutotrackingSceneNode SceneNode node,
bool  autoTrack
[virtual, inherited]
 

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

virtual void Ogre::SceneManager::_populateLightList const Vector3 position,
Real  radius,
LightList destList
[virtual, inherited]
 

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.
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:
position The position at which to evaluate the list of lights
radius The bounding radius to test
destList List to be populated with ordered set of lights; will be cleared by this method before population.

virtual void Ogre::SceneManager::_queueSkiesForRendering Camera cam  )  [virtual, inherited]
 

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

void Ogre::OctreeSceneManager::_removeOctreeNode OctreeNode  )  [inherited]
 

Removes the given octree node.

void Ogre::TerrainSceneManager::_renderScene Camera cam,
Viewport vp,
bool  includeOverlays
[virtual]
 

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:
camera Pointer to a camera from whose viewpoint the scene is to be rendered.
vp The target viewport
includeOverlays Whether or not overlay objects should be rendered

Reimplemented from Ogre::SceneManager.

virtual void Ogre::TerrainSceneManager::_renderVisibleObjects void   )  [virtual]
 

Aligns TerrainRenderable neighbors, and renders them.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::SceneManager::_setDestinationRenderSystem RenderSystem sys  )  [virtual, inherited]
 

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:
sys Pointer to the RenderSystem subclass to be used as a render target.

void Ogre::OctreeSceneManager::_updateOctreeNode OctreeNode  )  [inherited]
 

Checks the given OctreeNode, and determines if it needs to be moved to a different octant.

virtual void Ogre::OctreeSceneManager::_updateSceneGraph Camera cam  )  [virtual, inherited]
 

Does nothing more.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::SceneManager::addRenderQueueListener RenderQueueListener newListener  )  [virtual, inherited]
 

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

virtual void Ogre::SceneManager::addSpecialCaseRenderQueue RenderQueueGroupID  qid  )  [virtual, inherited]
 

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:
qid The identifier of the queue which should be added to the special case list. Nothing happens if the queue is already in the list.

virtual void Ogre::TerrainSceneManager::attachPage ushort  pageX,
ushort  pageZ,
TerrainPage page
[virtual]
 

Attaches a previously built page to the list of available pages.

Remarks:
TerrainPageSource subclasses will call this method once they have pages available to be added to the working set. Note that whilst you can build TerrainPage instances in another thread if you like, this method must be called in the same thread as the main rendering loop in order to avoid concurrency issues.
Parameters:
pageX,pageZ The page index at which to attach the page
page The page to attach

void Ogre::TerrainSceneManager::clearScene void   )  [virtual]
 

Overridden from SceneManager.

Reimplemented from Ogre::OctreeSceneManager.

virtual void Ogre::SceneManager::clearSpecialCaseRenderQueues void   )  [virtual, inherited]
 

Clears the 'special case' render queue list.

See also:
SceneManager::addSpecialCaseRenderQueue

virtual AxisAlignedBoxSceneQuery* Ogre::SceneManager::createAABBQuery const AxisAlignedBox box,
unsigned long  mask = 0xFFFFFFFF
[virtual, inherited]
 

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:
box Details of the box which describes the region for this query.
mask The query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

virtual Animation* Ogre::SceneManager::createAnimation const String name,
Real  length
[virtual, inherited]
 

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:
name The name of the animation, must be unique within this SceneManager.
length The total length of the animation.

virtual AnimationState* Ogre::SceneManager::createAnimationState const String animName  )  [virtual, inherited]
 

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.
Parameters:
animName The name of an animation created already with createAnimation.

virtual BillboardSet* Ogre::SceneManager::createBillboardSet const String name,
unsigned int  poolSize = 20
[virtual, inherited]
 

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:
name The name to give to this billboard set. Must be unique.
poolSize The initial size of the pool of billboards (see BillboardSet for more information)
See also:
BillboardSet

Camera* Ogre::TerrainSceneManager::createCamera const String name  )  [virtual]
 

Overridden in order to store the first camera created as the primary one, for determining error metrics and the 'home' terrain page.

Reimplemented from Ogre::OctreeSceneManager.

virtual Entity* Ogre::SceneManager::createEntity const String entityName,
PrefabType  ptype
[virtual, inherited]
 

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

Parameters:
entityName The name to be given to the entity (must be unique).
ptype The prefab type.

virtual Entity* Ogre::SceneManager::createEntity const String entityName,
const String meshName
[virtual, inherited]
 

Create an Entity (instance of a discrete mesh).

Parameters:
entityName The name to be given to the entity (must be unique).
meshName The name of the Mesh it is to be based on (e.g. 'knot.oof'). The mesh will be loaded if it is not already.

IntersectionSceneQuery* Ogre::OctreeSceneManager::createIntersectionQuery unsigned long  mask  )  [virtual, inherited]
 

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:
mask The query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

virtual Light* Ogre::SceneManager::createLight const String name  )  [virtual, inherited]
 

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:
name The name of the new light, to identify it later.

PlaneBoundedVolumeListSceneQuery* Ogre::OctreeSceneManager::createPlaneBoundedVolumeQuery const PlaneBoundedVolumeList volumes,
unsigned long  mask
[virtual, inherited]
 

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:
volumes Details of the volumes which describe the region for this query.
mask The query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

RaySceneQuery* Ogre::TerrainSceneManager::createRayQuery const Ray ray,
unsigned long  mask = 0xFFFFFFFF
[virtual]
 

Creates a RaySceneQuery for this scene manager.

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

Reimplemented from Ogre::OctreeSceneManager.

virtual SceneNode* Ogre::OctreeSceneManager::createSceneNode const String name  )  [virtual, inherited]
 

Creates a specialized OctreeNode.

Reimplemented from Ogre::SceneManager.

virtual SceneNode* Ogre::OctreeSceneManager::createSceneNode void   )  [virtual, inherited]
 

Creates a specialized OctreeNode.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::SceneManager::createShadowTextures unsigned short  size,
unsigned short  count,
PixelFormat  fmt
[protected, virtual, inherited]
 

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

MeshPtr Ogre::SceneManager::createSkyboxPlane BoxPlane  bp,
Real  distance,
const Quaternion orientation,
const String groupName
[protected, inherited]
 

MeshPtr Ogre::SceneManager::createSkydomePlane BoxPlane  bp,
Real  curvature,
Real  tiling,
Real  distance,
const Quaternion orientation,
int  xsegments,
int  ysegments,
int  ySegmentsToKeep,
const String groupName
[protected, inherited]
 

virtual SphereSceneQuery* Ogre::SceneManager::createSphereQuery const Sphere sphere,
unsigned long  mask = 0xFFFFFFFF
[virtual, inherited]
 

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:
sphere Details of the sphere which describes the region for this query.
mask The query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

virtual StaticGeometry* Ogre::SceneManager::createStaticGeometry const String name  )  [virtual, inherited]
 

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:
name The name to give the new object
Returns:
The new StaticGeometry instance

Pass* Ogre::SceneManager::deriveShadowCasterPass Pass pass  )  [protected, inherited]
 

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 AutpoParamDataSource to set black lighting for passes with vertex programs.

Pass* Ogre::SceneManager::deriveShadowReceiverPass Pass pass  )  [protected, inherited]
 

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.

virtual void Ogre::SceneManager::destroyAllAnimations void   )  [virtual, inherited]
 

Removes all animations created using this SceneManager.

virtual void Ogre::SceneManager::destroyAllAnimationStates void   )  [virtual, inherited]
 

Removes all animation states created using this SceneManager.

virtual void Ogre::SceneManager::destroyAnimation const String name  )  [virtual, inherited]
 

Destroys an Animation.

Remarks:
You should ensure that none of your code is referencing this animation objects since the memory will be freed.

virtual void Ogre::SceneManager::destroyAnimationState const String name  )  [virtual, inherited]
 

Destroys an AnimationState.

Remarks:
You should ensure that none of your code is referencing this animation state object since the memory will be freed.

virtual void Ogre::SceneManager::destroyQuery SceneQuery query  )  [virtual, inherited]
 

Destroys a scene query of any type.

virtual void Ogre::OctreeSceneManager::destroySceneNode const String name  )  [virtual, inherited]
 

Deletes a scene node.

Reimplemented from Ogre::SceneManager.

virtual void Ogre::SceneManager::destroyShadowTextures void   )  [protected, virtual, inherited]
 

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

virtual size_t Ogre::SceneManager::estimateWorldGeometry const String filename  )  [virtual, inherited]
 

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 (setWorldGeomtry), they should call ResourceGroupManager::_notifyWorldGeometryProgress exactly that number of times when loading the geometry for real.
Note:
The default is to return 0, ie to not report progress.

Reimplemented in Ogre::BspSceneManager.

Definition at line 777 of file OgreSceneManager.h.

References Ogre::String.

virtual void Ogre::SceneManager::findLightsAffectingFrustum const Camera camera  )  [protected, virtual, inherited]
 

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

Remarks:
Custom scene managers are encouraged to override this method to make use of their scene partitioning scheme to more efficiently locate lights, and to eliminate lights which may be occluded by word geometry.

void Ogre::OctreeSceneManager::findNodesIn const Ray ray,
std::list< SceneNode * > &  list,
SceneNode exclude = 0
[inherited]
 

Recurses the octree, adding any nodes intersecting with the ray into the given list.

It ignores the exclude scene node.

void Ogre::OctreeSceneManager::findNodesIn const PlaneBoundedVolume volume,
std::list< SceneNode * > &  list,
SceneNode exclude = 0
[inherited]
 

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

It ignores the exclude scene node.

void Ogre::OctreeSceneManager::findNodesIn const Sphere sphere,
std::list< SceneNode * > &  list,
SceneNode exclude = 0
[inherited]
 

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

It ignores the exclude scene node.

void Ogre::OctreeSceneManager::findNodesIn const AxisAlignedBox box,
std::list< SceneNode * > &  list,
SceneNode exclude = 0
[inherited]
 

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

It ignores the exclude scene node.

virtual const ShadowCasterList& Ogre::SceneManager::findShadowCastersForLight const Light light,
const Camera camera
[protected, virtual, inherited]
 

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)

bool Ogre::SceneManager::fireRenderQueueEnded RenderQueueGroupID  id  )  [protected, inherited]
 

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

bool Ogre::SceneManager::fireRenderQueueStarted RenderQueueGroupID  id  )  [protected, inherited]
 

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

const ColourValue& Ogre::SceneManager::getAmbientLight void   )  const [inherited]
 

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

virtual Animation* Ogre::SceneManager::getAnimation const String name  )  const [virtual, inherited]
 

Looks up an Animation object previously created with createAnimation.

AnimationIterator Ogre::SceneManager::getAnimationIterator void   )  [inherited]
 

Returns a specialised MapIterator over all animations in the scene.

Definition at line 1513 of file OgreSceneManager.h.

References Ogre::SceneManager::AnimationIterator.

virtual AnimationState* Ogre::SceneManager::getAnimationState const String animName  )  [virtual, inherited]
 

Retrieves animation state as previously created using createAnimationState.

AnimationStateIterator Ogre::SceneManager::getAnimationStateIterator void   )  [inherited]
 

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

Definition at line 1517 of file OgreSceneManager.h.

References Ogre::AnimationStateIterator.

virtual BillboardSet* Ogre::SceneManager::getBillboardSet const String name  )  [virtual, inherited]
 

Retrieves a pointer to the named BillboardSet.

BillboardSetIterator Ogre::SceneManager::getBillboardSetIterator void   )  [inherited]
 

Returns a specialised MapIterator over all BillboardSets in the scene.

Definition at line 1509 of file OgreSceneManager.h.

References Ogre::SceneManager::BillboardSetIterator.

virtual Camera* Ogre::SceneManager::getCamera const String name  )  [virtual, inherited]
 

Retrieves a pointer to the named camera.

CameraIterator Ogre::SceneManager::getCameraIterator void   )  [inherited]
 

Returns a specialised MapIterator over all cameras in the scene.

Definition at line 1505 of file OgreSceneManager.h.

References Ogre::SceneManager::CameraIterator.

const String& Ogre::TerrainSceneManager::getDetailTexture void   ) 
 

Gets the texture to use for the detail texture.

Definition at line 111 of file OgreTerrainSceneManager.h.

References Ogre::String.

int Ogre::TerrainSceneManager::getDetailTextureRepeat void   ) 
 

Gets the number of times per tile the detail texture should be repeated.

virtual Entity* Ogre::SceneManager::getEntity const String name  )  [virtual, inherited]
 

Retrieves a pointer to the named Entity.

EntityIterator Ogre::SceneManager::getEntityIterator void   )  [inherited]
 

Returns a specialised MapIterator over all entities in the scene.

Definition at line 1501 of file OgreSceneManager.h.

References Ogre::SceneManager::EntityIterator.

virtual const ColourValue& Ogre::SceneManager::getFogColour void   )  const [virtual, inherited]
 

Returns the fog colour for the scene.

virtual Real Ogre::SceneManager::getFogDensity void   )  const [virtual, inherited]
 

Returns the fog density for the scene.

virtual Real Ogre::SceneManager::getFogEnd void   )  const [virtual, inherited]
 

Returns the fog end distance for the scene.

virtual FogMode Ogre::SceneManager::getFogMode void   )  const [virtual, inherited]
 

Returns the fog mode for the scene.

virtual Real Ogre::SceneManager::getFogStart void   )  const [virtual, inherited]
 

Returns the fog start distance for the scene.

float Ogre::TerrainSceneManager::getHeightAt float  x,
float  y
 

Returns the height at the given terrain coordinates.

virtual Light* Ogre::SceneManager::getLight const String name  )  [virtual, inherited]
 

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

LightIterator Ogre::SceneManager::getLightIterator void   )  [inherited]
 

Returns a specialised MapIterator over all lights in the scene.

Definition at line 1497 of file OgreSceneManager.h.

References Ogre::SceneManager::LightIterator.

int Ogre::TerrainSceneManager::getMaxGeoMipMapLevel void   ) 
 

Gets the maximum geomipmap level to allow.

int Ogre::TerrainSceneManager::getMaxPixelError void   ) 
 

Gets the maximum screen space pixel error.

virtual bool Ogre::OctreeSceneManager::getOption const String ,
void * 
[virtual, inherited]
 

Gets the given option for the Scene Manager.

Remarks:
See setOption

Reimplemented from Ogre::SceneManager.

bool Ogre::OctreeSceneManager::getOptionKeys StringVector refKeys  )  [virtual, inherited]
 

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

Parameters:
refKeys A reference to a list that will be filled with all the available options.
Returns:
On success, true is returned. On failiure, false is returned.

Reimplemented from Ogre::SceneManager.

const TerrainOptions& Ogre::TerrainSceneManager::getOptions void   )  [static]
 

Gets the terrain options.

Definition at line 238 of file OgreTerrainSceneManager.h.

bool Ogre::OctreeSceneManager::getOptionValues const String key,
StringVector refValueList
[virtual, inherited]
 

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:
strKey The name of the option to get the values for.
refValueList A reference to a list that will be filled with the available values.
Returns:
On success (the option exists), true is returned.
On failure, false is returned.

Reimplemented from Ogre::SceneManager.

int Ogre::TerrainSceneManager::getPageSize void   ) 
 

Gets the dimensions of each page (must be power of 2 + 1).

PageSourceIterator Ogre::TerrainSceneManager::getPageSourceIterator void   ) 
 

Get an iterator over all page sources.

virtual RenderQueue* Ogre::SceneManager::getRenderQueue void   )  [virtual, inherited]
 

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.

virtual SceneNode* Ogre::SceneManager::getRootSceneNode void   )  const [virtual, inherited]
 

Gets the SceneNode at the root of the scene hierarchy.

Remarks:
The entire scene is held as a hierarchy of nodes, which allows things like relative transforms, general changes in rendering state etc (See the SceneNode class for more info). In this basic SceneManager class, the application using Ogre is free to structure this hierarchy however it likes, since it has no real significance apart from making transforms relative to each node (more specialised subclasses will provide utility methods for building specific node structures e.g. loading a BSP tree).
However, in all cases there is only ever one root node of the hierarchy, and this method returns a pointer to it.

const Vector3& Ogre::TerrainSceneManager::getScale void   ) 
 

Gets how to scale the terrain data.

virtual SceneNode* Ogre::SceneManager::getSceneNode const String name  )  const [virtual, inherited]
 

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.

virtual const ColourValue& Ogre::SceneManager::getShadowColour void   )  const [virtual, inherited]
 

Get the colour used to modulate areas in shadow.

Remarks:
This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas.

virtual Real Ogre::SceneManager::getShadowDirectionalLightExtrusionDistance void   )  const [virtual, inherited]
 

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

virtual Real Ogre::SceneManager::getShadowFarDistance void   )  const [virtual, inherited]
 

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

Definition at line 1611 of file OgreSceneManager.h.

References Ogre::Real.

virtual size_t Ogre::SceneManager::getShadowIndexBufferSize void   )  const [virtual, inherited]
 

Get the size of the shadow index buffer.

Definition at line 1641 of file OgreSceneManager.h.

virtual ShadowTechnique Ogre::SceneManager::getShadowTechnique void   )  const [virtual, inherited]
 

Gets the current shadow technique.

Definition at line 1556 of file OgreSceneManager.h.

References Ogre::ShadowTechnique.

unsigned short Ogre::SceneManager::getShadowTextureCount void   )  const [inherited]
 

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

Definition at line 1673 of file OgreSceneManager.h.

PixelFormat Ogre::SceneManager::getShadowTexturePixelFormat void   )  const [inherited]
 

Get the format of the textures used for texture based shadows.

Definition at line 1663 of file OgreSceneManager.h.

References Ogre::PixelFormat.

virtual bool Ogre::SceneManager::getShadowTextureSelfShadow void   )  const [virtual, inherited]
 

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

Definition at line 1731 of file OgreSceneManager.h.

unsigned short Ogre::SceneManager::getShadowTextureSize void   )  const [inherited]
 

Get the size of the texture used for texture based shadows.

Definition at line 1651 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::getShowBoundingBoxes  )  const [virtual, inherited]
 

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

virtual bool Ogre::SceneManager::getShowDebugShadows void   )  const [virtual, inherited]
 

Are debug shadows shown?

Definition at line 1561 of file OgreSceneManager.h.

virtual SceneNode* Ogre::SceneManager::getSkyBoxNode void   )  const [virtual, inherited]
 

Get the skybox node, if enabled.

Definition at line 1039 of file OgreSceneManager.h.

virtual SceneNode* Ogre::SceneManager::getSkyDomeNode void   )  [virtual, inherited]
 

Get the sky dome node, if enabled.

Definition at line 1107 of file OgreSceneManager.h.

virtual SceneNode* Ogre::SceneManager::getSkyPlaneNode void   )  [virtual, inherited]
 

Get the sky plane node, if enabled.

Definition at line 987 of file OgreSceneManager.h.

virtual SpecialCaseRenderQueueMode Ogre::SceneManager::getSpecialCaseRenderQueueMode void   )  [virtual, inherited]
 

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

virtual StaticGeometry* Ogre::SceneManager::getStaticGeometry const String name  )  const [virtual, inherited]
 

Retrieve a previously created StaticGeometry instance.

virtual ViewPoint Ogre::SceneManager::getSuggestedViewpoint bool  random = false  )  [virtual, inherited]
 

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:
random If 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 failiure, false is returned.

Reimplemented in Ogre::BspSceneManager.

MaterialPtr& Ogre::TerrainSceneManager::getTerrainMaterial void   ) 
 

Get a pointer to the material being used for the terrain.

virtual TerrainPage* Ogre::TerrainSceneManager::getTerrainPage const Vector3 pt  )  [virtual]
 

Returns the TerrainPage that contains the given pt.

If no page exists at the point, it returns 0;

SceneNode* Ogre::TerrainSceneManager::getTerrainRootNode void   )  const
 

Get the SceneNode under which all terrain nodes are attached.

Definition at line 317 of file OgreTerrainSceneManager.h.

virtual TerrainRenderable* Ogre::TerrainSceneManager::getTerrainTile const Vector3 pt  )  [virtual]
 

Returns the TerrainRenderable that contains the given pt.

If no tile exists at the point, it returns 0;

int Ogre::TerrainSceneManager::getTileSize void   ) 
 

Gets the dimensions of each tile (must be power of 2 + 1).

virtual RenderQueueGroupID Ogre::SceneManager::getWorldGeometryRenderQueue void   )  [virtual, inherited]
 

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.

const String& Ogre::TerrainSceneManager::getWorldTexture void   ) 
 

Gets the texture to use for the main world texture.

Definition at line 109 of file OgreTerrainSceneManager.h.

References Ogre::String.

virtual bool Ogre::SceneManager::hasOption const String strKey  )  const [virtual, inherited]
 

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

Parameters:
strKey The 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 834 of file OgreSceneManager.h.

References Ogre::String.

void Ogre::OctreeSceneManager::init AxisAlignedBox box,
int  d
[inherited]
 

Initializeds the manager to the given box and depth.

virtual void Ogre::SceneManager::initRenderQueue void   )  [protected, virtual, inherited]
 

Internal method for initialising the render queue.

Remarks:
Subclasses can use this to install their own RenderQueue implementation.

virtual void Ogre::SceneManager::initShadowVolumeMaterials void   )  [protected, virtual, inherited]
 

Internal method for setting up materials for shadows.

bool Ogre::TerrainSceneManager::intersectSegment const Vector3 start,
const Vector3 end,
Vector3 result
 

virtual bool Ogre::SceneManager::isRenderQueueToBeProcessed RenderQueueGroupID  qid  )  [virtual, inherited]
 

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:
qid The identifier of the queue which should be tested
Returns:
true if the queue will be rendered, false otherwise

virtual bool Ogre::SceneManager::isSkyBoxEnabled void   )  const [virtual, inherited]
 

Return whether a skybox is enabled.

Definition at line 1036 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::isSkyDomeEnabled void   )  const [virtual, inherited]
 

Return whether a skydome is enabled.

Definition at line 1104 of file OgreSceneManager.h.

virtual bool Ogre::SceneManager::isSkyPlaneEnabled void   )  const [virtual, inherited]
 

Return whether a key plane is enabled.

Definition at line 984 of file OgreSceneManager.h.

void Ogre::TerrainSceneManager::loadConfig const String filename  )  [protected]
 

Internal method for loading configurations settings.

virtual void Ogre::SceneManager::manualRender RenderOperation rend,
Pass pass,
Viewport vp,
const Matrix4 worldMatrix,
const Matrix4 viewMatrix,
const Matrix4 projMatrix,
bool  doBeginEndFrame = false
[virtual, inherited]
 

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:
rend A RenderOperation object describing the rendering op
pass The Pass to use for this render
vp Pointer to the viewport to render to
worldMatrix The transform to apply from object to world space
viewMatrix The transform to apply from world to view space
projMatrix The transform to apply from view to screen space
doBeginEndFrame If true, beginFrame() and endFrame() are called, otherwise not. You should leave this as false if you are calling this within the main render loop.

AxisAlignedBoxSceneQuery* Ogre::OctreeSceneManager::OctreeSceneManager::createAABBQuery const AxisAlignedBox box,
unsigned long  mask
[inherited]
 

SphereSceneQuery* Ogre::OctreeSceneManager::OctreeSceneManager::createSphereQuery const Sphere sphere,
unsigned long  mask
[inherited]
 

virtual void Ogre::SceneManager::prepareShadowTextures Camera cam,
Viewport vp
[protected, virtual, inherited]
 

Internal method for preparing shadow textures ready for use in a regular render.

virtual void Ogre::TerrainSceneManager::registerPageSource const String typeName,
TerrainPageSource source
[virtual]
 

Registers a TerrainPageSource class and associates it with a named type of source.

Remarks:
This function allows external classes to register themselves as providers of terrain pages of a particular type. Only one page source can be active at once, and the active one is selected by calling selectPageSource(typeName), which is part of plugin configuration.
Note:
The terrain engine comes with a default page source which loads greyscale heightmap images, registered under the type name "Heightmap".
Parameters:
typeName A unique String to associate with this type of source
source Pointer to the class which will implement this source.

virtual void Ogre::SceneManager::removeAllBillboardSets void   )  [virtual, inherited]
 

Removes & destroys all BillboardSets.

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

virtual void Ogre::SceneManager::removeAllCameras void   )  [virtual, inherited]
 

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.

virtual void Ogre::SceneManager::removeAllEntities void   )  [virtual, inherited]
 

Removes & destroys all Entities.

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

virtual void Ogre::SceneManager::removeAllLights void   )  [virtual, inherited]
 

Removes and destroys all lights in the scene.

virtual void Ogre::SceneManager::removeAllStaticGeometry void   )  [virtual, inherited]
 

Remove & destroy all StaticGeometry instances.

virtual void Ogre::SceneManager::removeBillboardSet const String name  )  [virtual, inherited]
 

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.

virtual void Ogre::SceneManager::removeBillboardSet BillboardSet set  )  [virtual, inherited]
 

Removes & destroys an BillboardSet from the SceneManager.

Warning:
Must only be done if the BillboardSet is not attached to a SceneNode. It may be safer to wait to clear the whole scene. If you are unsure, use clearScene.

virtual void Ogre::SceneManager::removeCamera const String name  )  [virtual, inherited]
 

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.

virtual void Ogre::SceneManager::removeCamera Camera cam  )  [virtual, inherited]
 

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:
cam Pointer to the camera to remove

virtual void Ogre::SceneManager::removeEntity const String name  )  [virtual, inherited]
 

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

virtual void Ogre::SceneManager::removeEntity Entity ent  )  [virtual, inherited]
 

Removes & destroys an Entity from the SceneManager.

Warning:
Must only be done if the Entity is not attached to a SceneNode. It may be safer to wait to clear the whole scene if you are unsure use clearScene.
See also:
SceneManager::clearScene

virtual void Ogre::SceneManager::removeLight Light light  )  [virtual, inherited]
 

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

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

virtual void Ogre::SceneManager::removeLight const String name  )  [virtual, inherited]
 

Removes the named light from the scene and destroys it.

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

virtual void Ogre::SceneManager::removeRenderQueueListener RenderQueueListener delListener  )  [virtual, inherited]
 

Removes a listener previously added with addRenderQueueListener.

virtual void Ogre::SceneManager::removeSpecialCaseRenderQueue RenderQueueGroupID  qid  )  [virtual, inherited]
 

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

See also:
SceneManager::addSpecialCaseRenderQueue
Parameters:
qid The identifier of the queue which should be removed from the special case list. Nothing happens if the queue is not in the list.

virtual void Ogre::SceneManager::removeStaticGeometry const String name  )  [virtual, inherited]
 

Remove & destroy a StaticGeometry instance.

virtual void Ogre::SceneManager::removeStaticGeometry StaticGeometry geom  )  [virtual, inherited]
 

Remove & destroy a StaticGeometry instance.

virtual void Ogre::SceneManager::renderAdditiveStencilShadowedQueueGroupObjects RenderQueueGroup group  )  [protected, virtual, inherited]
 

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

virtual void Ogre::SceneManager::renderBasicQueueGroupObjects RenderQueueGroup pGroup  )  [protected, virtual, inherited]
 

Render a group in the ordinary way.

virtual void Ogre::SceneManager::renderModulativeStencilShadowedQueueGroupObjects RenderQueueGroup group  )  [protected, virtual, inherited]
 

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

virtual void Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects RenderQueueGroup group  )  [protected, virtual, inherited]
 

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

virtual void Ogre::SceneManager::renderObjects const RenderPriorityGroup::TransparentRenderablePassList objs,
bool  doLightIteration,
const LightList manualLightList = 0
[protected, virtual, inherited]
 

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

virtual void Ogre::SceneManager::renderObjects const RenderPriorityGroup::SolidRenderablePassMap objs,
bool  doLightIteration,
const LightList manualLightList = 0
[protected, virtual, inherited]
 

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

virtual void Ogre::SceneManager::renderQueueGroupObjects RenderQueueGroup group  )  [protected, virtual, inherited]
 

Render the objects in a given queue group.

void Ogre::SceneManager::renderShadowVolumeObjects ShadowCaster::ShadowRenderableListIterator  iShadowRenderables,
Pass pass,
const LightList manualLightList,
unsigned long  flags,
bool  secondpass,
bool  zfail,
bool  twosided
[protected, inherited]
 

Render a set of shadow renderables.

virtual void Ogre::SceneManager::renderShadowVolumesToStencil const Light light,
const Camera cam
[protected, virtual, inherited]
 

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

Parameters:
light The light source
cam The camera being viewed from

virtual void Ogre::SceneManager::renderSingleObject Renderable rend,
Pass pass,
bool  doLightIteration,
const LightList manualLightList = 0
[protected, virtual, inherited]
 

Internal utility method for rendering a single object.

Remarks:
Assumes that the pass has already been set up.
Parameters:
rend The renderable to issue to the pipeline
pass The pass which is being used
doLightIteration If true, this method will issue the renderable to the pipeline possibly multiple times, if the pass indicates it should be done once per light
manualLightList Only applicable if doLightIteration is false, this method allows you to pass in a previously determined set of lights which will be used for a single render of this object.

virtual void Ogre::SceneManager::renderTextureShadowCasterQueueGroupObjects RenderQueueGroup group  )  [protected, virtual, inherited]
 

Render a group rendering only shadow casters.

virtual void Ogre::SceneManager::renderTextureShadowReceiverQueueGroupObjects RenderQueueGroup group  )  [protected, virtual, inherited]
 

Render a group rendering only shadow receivers.

virtual void Ogre::SceneManager::renderTransparentShadowCasterObjects const RenderPriorityGroup::TransparentRenderablePassList objs,
bool  doLightIteration,
const LightList manualLightList = 0
[protected, virtual, inherited]
 

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

void Ogre::OctreeSceneManager::resize const AxisAlignedBox box  )  [inherited]
 

Resizes the octree to the given size.

virtual void Ogre::TerrainSceneManager::selectPageSource const String typeName,
TerrainPageSourceOptionList optionList
[virtual]
 

Selects a given page source based on its type name.

Remarks:
This method activates a single page source based on its typename, e.g. "Heightmap". It also passes to it a number of custom options which the source is able to interpret however it likes.
Parameters:
typeName The type name of the page source to activate
optionList A list of string parameters, which are expected to begin with 'typeName.' (e.g. "Heightmap.image"), with their appropriate values.

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.

void Ogre::TerrainSceneManager::setCustomMaterial const String materialName  ) 
 

Sets the name of a custom material to use to shade the landcape.

Remarks:
This method allows you to provide a custom material which will be used to render the landscape instead of the standard internal material. This gives you a great deal of flexibility and allows you to perform special effects if you wish. Note that because you determine every aspect of the material, this setting makes the use of setWorldTexture and setDetailTexture redundant.
In your custom material, you can use all the usual features of Ogre's materials, including multiple passes if you wish. You can also use the programmable pipeline to hook vertex and fragment programs into the terrain rendering. The plugin provides the following vertex components:
  • positions
  • 2 sets of texture coordinates (index 0 is world texture, index 1 is detail texture)
  • Normals, if enabled
  • Per-vertex delta values, for morphing a higher LOD tile into a lower LOD tile. This is one float per vertex bound as 'blend weight'. If you want to use this you also have to provide the name or index of the parameter you wish to receive the morph factor (
See also:
setCustomMaterialMorphFactorParam)

void Ogre::TerrainSceneManager::setCustomMaterialMorphFactorParam size_t  paramIndex  ) 
 

Sets the index of the vertex program parameter to which to pass the LOD morph factor.

Remarks:
When LOD morphing is enabled, and you are using a custom material to shade the terrain, you need to inform this class of the parameter you wish the current LOD morph factor to be passed to. This is a simple float parameter value that the plugin will set from 0 to 1, depending on the morph stage of a tile. 0 represents no morphing, ie the vertices are all in the original position. 1 represents a complete morph such that the height of the vertices is the same as they are at the next lower LOD level. The vertex program must use this factor, in conjunction with the per-vertex height delta values (bound as 'blend weight'), to displace vertices.
Note:
This version of the method lets you specify a parameter index, compatible with low-level assembler vertex programs. There is an alternative signature method which allows you to set the parameter name for high-level programs.
Parameters:
paramName The name of the parameter which will receive the morph factor

void Ogre::TerrainSceneManager::setCustomMaterialMorphFactorParam const String paramName  ) 
 

Sets the name of the vertex program parameter to which to pass the LOD morph factor.

Remarks:
When LOD morphing is enabled, and you are using a custom material to shade the terrain, you need to inform this class of the parameter you wish the current LOD morph factor to be passed to. This is a simple float parameter value that the plugin will set from 0 to 1, depending on the morph stage of a tile. 0 represents no morphing, ie the vertices are all in the original position. 1 represents a complete morph such that the height of the vertices is the same as they are at the next lower LOD level. The vertex program must use this factor, in conjunction with the per-vertex height delta values (bound as 'blend weight'), to displace vertices.
Note:
This version of the method lets you specify a parameter name, compatible with high-level vertex programs. There is an alternative signature method which allows you to set the parameter index for low-level assembler programs.
Parameters:
paramName The name of the parameter which will receive the morph factor

void Ogre::TerrainSceneManager::setDetailTexture const String textureName  ) 
 

Sets the texture to use for the detail texture.

void Ogre::TerrainSceneManager::setDetailTextureRepeat int  repeat  ) 
 

Sets the number of times per tile the detail texture should be repeated.

virtual void Ogre::SceneManager::setDisplaySceneNodes bool  display  )  [virtual, inherited]
 

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.

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:
mode Set up the mode of fog as described in the FogMode enum, or set to FOG_NONE to turn off.
colour The colour of the fog. Either set this to the same as your viewport background colour, or to blend in with a skydome or skybox.
expDensity The density of the fog in FOG_EXP or FOG_EXP2 mode, as a value between 0 and 1. The default is 0.001.
linearStart Distance in world units at which linear fog starts to encroach. Only applicable if mode is FOG_LINEAR.
linearEnd Distance in world units at which linear fog becomes completely opaque. Only applicable if mode is FOG_LINEAR.

void Ogre::TerrainSceneManager::setLODMorphStart Real  morphStart  ) 
 

Sets the distance at which the LOD will start to morph downwards, as a proportion of the distance between the LODs.

void Ogre::OctreeSceneManager::setLooseOctree bool  b  )  [inherited]
 

Definition at line 166 of file OgreOctreeSceneManager.h.

References Ogre::OctreeSceneManager::mLoose.

void Ogre::TerrainSceneManager::setMaxGeoMipMapLevel int  maxMip  ) 
 

Sets the maximum geomipmap level to allow.

void Ogre::TerrainSceneManager::setMaxPixelError int  pixelError  ) 
 

Sets the maximum screen space pixel error.

virtual bool Ogre::TerrainSceneManager::setOption const String ,
const void * 
[virtual]
 

Sets the given option for the SceneManager.

Remarks:
Options are (in addition to those supported by superclasses): "PageSize", int*; "TileSize", int*; "PrimaryCamera, Camera*; "MaxMipMapLevel", int*; "Scale", Vector3 *; "MaxPixelError", int*; "UseTriStrips", bool*; "VertexProgramMorph", bool*; "DetailTile", int*; "LodMorphStart", Real*; "VertexNormals", bool*; "VertexColours", bool*; "MorphLODFactorParamName", String*; "MorphLODFactorParamIndex", size_t*; "CustomMaterialName", String*; "WorldTexture", String*; "DetailTexture", String*;

Reimplemented from Ogre::OctreeSceneManager.

void Ogre::TerrainSceneManager::setPageSize int  size  ) 
 

Sets the dimensions of each page (must be power of 2 + 1).

virtual Pass* Ogre::SceneManager::setPass Pass pass  )  [protected, virtual, inherited]
 

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

Parameters:
pass The Pass details to set.
Returns:
A Pass object that was used instead of the one passed in, can happen when rendering shadow passes

virtual void Ogre::TerrainSceneManager::setPrimaryCamera const Camera cam  )  [virtual]
 

Sets the 'primary' camera, i.e.

the one which will be used to determine the 'home' terrain page, and to calculate the error metrics.

void Ogre::TerrainSceneManager::setScale const Vector3 scale  ) 
 

Sets how to scale the terrain data.

virtual void Ogre::SceneManager::setShadowColour const ColourValue colour  )  [virtual, inherited]
 

Set the colour used to modulate areas in shadow.

Remarks:
This is only applicable for shadow techniques which involve darkening the area in shadow, as opposed to masking out the light. This colour provided is used as a modulative value to darken the areas.

virtual void Ogre::SceneManager::setShadowDirectionalLightExtrusionDistance Real  dist  )  [virtual, inherited]
 

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

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

virtual void Ogre::SceneManager::setShadowDirLightTextureOffset Real  offset  )  [virtual, inherited]
 

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

References Ogre::Real.

virtual void Ogre::SceneManager::setShadowFarDistance Real  distance  )  [virtual, inherited]
 

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

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

virtual void Ogre::SceneManager::setShadowIndexBufferSize size_t  size  )  [virtual, inherited]
 

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:
size The number of indexes; divide this by 3 to determine the number of triangles.

virtual void Ogre::SceneManager::setShadowTechnique ShadowTechnique  technique  )  [virtual, inherited]
 

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, whcih 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:
technique The shadowing technique to use for the scene.

virtual void Ogre::SceneManager::setShadowTextureCasterMaterial const String name  )  [virtual, inherited]
 

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 entries, so if you use both make sure they are compatible.

Only a single pass is allowed in your material, although multiple techniques may be used for hardware fallback.

virtual void Ogre::SceneManager::setShadowTextureCount unsigned short  count  )  [virtual, inherited]
 

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.

virtual void Ogre::SceneManager::setShadowTextureFadeEnd Real  fadeEnd  )  [virtual, inherited]
 

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

References Ogre::Real.

virtual void Ogre::SceneManager::setShadowTextureFadeStart Real  fadeStart  )  [virtual, inherited]
 

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

References Ogre::Real.

virtual void Ogre::SceneManager::setShadowTexturePixelFormat PixelFormat  fmt  )  [virtual, inherited]
 

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.

virtual void Ogre::SceneManager::setShadowTextureReceiverMaterial const String name  )  [virtual, inherited]
 

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 entries, so if you use both make sure they are compatible.

Only a single pass is allowed in your material, although multiple techniques may be used for hardware fallback.

virtual void Ogre::SceneManager::setShadowTextureSelfShadow bool  selfShadow  )  [virtual, inherited]
 

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:
selfShadow Whether to attempt self-shadowing with texture shadows

Definition at line 1728 of file OgreSceneManager.h.

virtual void Ogre::SceneManager::setShadowTextureSettings unsigned short  size,
unsigned short  count,
PixelFormat  fmt = PF_X8R8G8B8
[virtual, inherited]
 

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

Remarks:
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.

virtual void Ogre::SceneManager::setShadowTextureSize unsigned short  size  )  [virtual, inherited]
 

Set the size of the texture used for 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.

virtual void Ogre::SceneManager::setShadowUseInfiniteFarPlane bool  enable  )  [virtual, inherited]
 

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

virtual void Ogre::SceneManager::setShadowVolumeStencilState bool  secondpass,
bool  zfail,
bool  twosided
[protected, virtual, inherited]
 

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

Parameters:
secondpass Is this the second pass?
zfail Should we be using the zfail method?
twosided Should we use a 2-sided stencil?

void Ogre::OctreeSceneManager::setShowBoxes bool  b  )  [inherited]
 

Sets the box visibility flag.

Definition at line 155 of file OgreOctreeSceneManager.h.

References Ogre::OctreeSceneManager::mShowBoxes.

virtual void Ogre::SceneManager::setShowDebugShadows bool  debug  )  [virtual, inherited]
 

Enables / disables the rendering of debug information for shadows.

Definition at line 1559 of file OgreSceneManager.h.

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

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:
enable True to enable the skybox, false to disable it
materialName The name of the material the box will use
distance Distance in world coorinates from the camera to each plane of the box. The default is normally OK.
drawFirst If 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.
orientation Optional 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.
groupName The name of the resource group to which to assign the plane mesh.

virtual void Ogre::SceneManager::setSkyDome bool  enable,
const String materialName,
Real  curvature = 10,
Real  tiling = 8,
Real  distance = 4000,
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
[virtual, inherited]
 

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 apparant '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:
enable True to enable the skydome, false to disable it
materialName The name of the material the dome will use
curvature The 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.
tiling How many times to tile the texture(s) across the dome.
distance Distance in world coorinates from the camera to each plane of the box the dome is rendered on. The default is normally OK.
drawFirst If 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.
orientation Optional 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.
groupName The name of the resource group to which to assign the plane mesh.

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

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:
enable True to enable the plane, false to disable it
plane Details of the plane, i.e. it's normal and it's distance from the camera.
materialName The name of the material the plane will use
scale The 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
tiling How 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.
drawFirst If 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.
bow If 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 compatable with fog.
xsegments,ysegments Determines 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.
groupName The name of the resource group to which to assign the plane mesh.

virtual void Ogre::SceneManager::setSpecialCaseRenderQueueMode SpecialCaseRenderQueueMode  mode  )  [virtual, inherited]
 

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

See also:
SceneManager::addSpecialCaseRenderQueue
Parameters:
mode The mode of processing

void Ogre::TerrainSceneManager::setTileSize int  size  ) 
 

Sets the dimensions of each tile (must be power of 2 + 1).

void Ogre::TerrainSceneManager::setupTerrainMaterial void   )  [protected]
 

Sets up the terrain material.

void Ogre::TerrainSceneManager::setupTerrainPages void   )  [protected]
 

Sets up the terrain page slots.

void Ogre::OctreeSceneManager::setUseCullCamera bool  b  )  [inherited]
 

Sets the cull camera flag.

Definition at line 161 of file OgreOctreeSceneManager.h.

References Ogre::OctreeSceneManager::mCullCamera.

void Ogre::TerrainSceneManager::setUseLODMorph bool  useMorph  ) 
 

Sets whether or not terrain tiles should be morphed between LODs (NB requires vertex program support).

void Ogre::TerrainSceneManager::setUseTriStrips bool  useStrips  ) 
 

Sets whether the terrain should use triangle strips or not.

Remarks:
The default is not, in which case it uses triangle lists.

void Ogre::TerrainSceneManager::setUseVertexColours bool  useColours  ) 
 

Sets whether vertex colours will be used.

void Ogre::TerrainSceneManager::setUseVertexNormals bool  useNormals  ) 
 

Sets whether vertex normals will be generated for the terrain.

virtual void Ogre::SceneManager::setViewport Viewport vp  )  [protected, virtual, inherited]
 

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

void Ogre::TerrainSceneManager::setWorldGeometry const String filename  )  [virtual]
 

Loads the terrain using parameters int he given config file.

Reimplemented from Ogre::SceneManager.

void Ogre::TerrainSceneManager::setWorldGeometryRenderQueue RenderQueueGroupID  qid  )  [virtual]
 

Overridden from SceneManager.

Reimplemented from Ogre::SceneManager.

void Ogre::TerrainSceneManager::setWorldTexture const String textureName  ) 
 

Sets the texture to use for the main world texture.

virtual void Ogre::SceneManager::showBoundingBoxes bool  bShow  )  [virtual, inherited]
 

Allows all bounding boxes of scene nodes to be displayed.

void Ogre::TerrainSceneManager::shutdown void   ) 
 

Shutdown cleanly before we get destroyed.

void Ogre::SceneManager::useRenderableViewProjMode Renderable pRend  )  [protected, inherited]
 

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

bool Ogre::SceneManager::validatePassForRendering Pass pass  )  [protected, inherited]
 

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.

bool Ogre::SceneManager::validateRenderableForRendering Pass pass,
Renderable rend
[protected, inherited]
 

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.

void Ogre::OctreeSceneManager::walkOctree OctreeCamera ,
RenderQueue ,
Octree ,
bool  foundvisible,
bool  onlyShadowCasters
[inherited]
 

Walks through the octree, adding any visible objects to the render queue.

Remarks:
If any octant in the octree if completely within the the view frustum, all subchildren are automatically added with no visibility tests.


Member Data Documentation

int Ogre::OctreeSceneManager::intersect_call [static, inherited]
 

Definition at line 81 of file OgreOctreeSceneManager.h.

TerrainPageSource* Ogre::TerrainSceneManager::mActivePageSource [protected]
 

The currently active page source.

Definition at line 383 of file OgreTerrainSceneManager.h.

ColourValue Ogre::SceneManager::mAmbientLight [protected, inherited]
 

Current ambient light, cached for RenderSystem.

Definition at line 132 of file OgreSceneManager.h.

AnimationList Ogre::SceneManager::mAnimationsList [protected, inherited]
 

Definition at line 305 of file OgreSceneManager.h.

AnimationStateSet Ogre::SceneManager::mAnimationStates [protected, inherited]
 

Definition at line 306 of file OgreSceneManager.h.

AutoParamDataSource Ogre::SceneManager::mAutoParamDataSource [protected, inherited]
 

Utility class for calculating automatic parameters for gpu programs.

Definition at line 345 of file OgreSceneManager.h.

AutoTrackingSceneNodes Ogre::SceneManager::mAutoTrackingSceneNodes [protected, inherited]
 

Definition at line 185 of file OgreSceneManager.h.

BillboardSetList Ogre::SceneManager::mBillboardSets [protected, inherited]
 

Central list of billboard sets - for easy memory management and lookup.

Definition at line 160 of file OgreSceneManager.h.

AxisAlignedBox Ogre::OctreeSceneManager::mBox [protected, inherited]
 

Size of the octree.

Definition at line 220 of file OgreOctreeSceneManager.h.

BoxList Ogre::OctreeSceneManager::mBoxes [protected, inherited]
 

list of boxes to be rendered

Definition at line 212 of file OgreOctreeSceneManager.h.

unsigned short Ogre::TerrainSceneManager::mBufferedPageMargin [protected]
 

The number of pages to keep loaded outside the 'home' page.

Definition at line 367 of file OgreTerrainSceneManager.h.

bool Ogre::SceneManager::mCamChanged [protected, inherited]
 

Controller flag for determining if we need to set view/proj matrices.

Definition at line 313 of file OgreSceneManager.h.

Camera* Ogre::SceneManager::mCameraInProgress [protected, inherited]
 

Camera in progress.

Definition at line 176 of file OgreSceneManager.h.

CameraList Ogre::SceneManager::mCameras [protected, inherited]
 

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

Definition at line 141 of file OgreSceneManager.h.

unsigned long Ogre::OctreeSceneManager::mColors[ 8 ] [static, protected, inherited]
 

Definition at line 232 of file OgreOctreeSceneManager.h.

Real Ogre::OctreeSceneManager::mCorners[ 24 ] [protected, inherited]
 

Definition at line 231 of file OgreOctreeSceneManager.h.

bool Ogre::OctreeSceneManager::mCullCamera [protected, inherited]
 

cull camera flag

Definition at line 226 of file OgreOctreeSceneManager.h.

Referenced by Ogre::OctreeSceneManager::setUseCullCamera().

RenderTexture* Ogre::SceneManager::mCurrentShadowTexture [protected, inherited]
 

Definition at line 365 of file OgreSceneManager.h.

Viewport* Ogre::SceneManager::mCurrentViewport [protected, inherited]
 

Current Viewport.

Definition at line 178 of file OgreSceneManager.h.

String Ogre::TerrainSceneManager::mCustomMaterialName [protected]
 

The name of the custom material to use.

Definition at line 351 of file OgreTerrainSceneManager.h.

bool Ogre::SceneManager::mDebugShadows [protected, inherited]
 

Definition at line 348 of file OgreSceneManager.h.

RenderSystem* Ogre::SceneManager::mDestRenderSystem [protected, inherited]
 

The rendering system to send the scene to.

Definition at line 135 of file OgreSceneManager.h.

String Ogre::TerrainSceneManager::mDetailTextureName [protected]
 

The name of the detail texture.

Definition at line 355 of file OgreTerrainSceneManager.h.

bool Ogre::SceneManager::mDisplayNodes [protected, inherited]
 

Definition at line 301 of file OgreSceneManager.h.

EntityList Ogre::SceneManager::mEntities [protected, inherited]
 

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

Definition at line 154 of file OgreSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mFiniteExtrusionParams [protected, inherited]
 

Definition at line 421 of file OgreSceneManager.h.

ColourValue Ogre::SceneManager::mFogColour [protected, inherited]
 

Definition at line 210 of file OgreSceneManager.h.

Real Ogre::SceneManager::mFogDensity [protected, inherited]
 

Definition at line 213 of file OgreSceneManager.h.

Real Ogre::SceneManager::mFogEnd [protected, inherited]
 

Definition at line 212 of file OgreSceneManager.h.

FogMode Ogre::SceneManager::mFogMode [protected, inherited]
 

Definition at line 209 of file OgreSceneManager.h.

Real Ogre::SceneManager::mFogStart [protected, inherited]
 

Definition at line 211 of file OgreSceneManager.h.

Rectangle2D* Ogre::SceneManager::mFullScreenQuad [protected, inherited]
 

Definition at line 357 of file OgreSceneManager.h.

IlluminationRenderStage Ogre::SceneManager::mIlluminationStage [protected, inherited]
 

Definition at line 359 of file OgreSceneManager.h.

unsigned short Ogre::OctreeSceneManager::mIndexes[ 24 ] [static, protected, inherited]
 

Definition at line 233 of file OgreOctreeSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mInfiniteExtrusionParams [protected, inherited]
 

Definition at line 420 of file OgreSceneManager.h.

SceneLightList Ogre::SceneManager::mLights [protected, inherited]
 

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

Definition at line 147 of file OgreSceneManager.h.

LightList Ogre::SceneManager::mLightsAffectingFrustum [protected, inherited]
 

Definition at line 354 of file OgreSceneManager.h.

unsigned short Ogre::TerrainSceneManager::mLivePageMargin [protected]
 

The number of pages to render outside the 'home' page.

Definition at line 365 of file OgreTerrainSceneManager.h.

size_t Ogre::TerrainSceneManager::mLodMorphParamIndex [protected]
 

The index of the parameter to send the LOD morph to.

Definition at line 361 of file OgreTerrainSceneManager.h.

String Ogre::TerrainSceneManager::mLodMorphParamName [protected]
 

The name of the parameter to send the LOD morph to.

Definition at line 359 of file OgreTerrainSceneManager.h.

bool Ogre::OctreeSceneManager::mLoose [protected, inherited]
 

Definition at line 229 of file OgreOctreeSceneManager.h.

Referenced by Ogre::OctreeSceneManager::setLooseOctree().

int Ogre::OctreeSceneManager::mMaxDepth [protected, inherited]
 

max depth for the tree.

Definition at line 218 of file OgreOctreeSceneManager.h.

int Ogre::OctreeSceneManager::mNumObjects [protected, inherited]
 

number of rendered objs

Definition at line 215 of file OgreOctreeSceneManager.h.

Octree* Ogre::OctreeSceneManager::mOctree [protected, inherited]
 

The root octree.

Definition at line 209 of file OgreOctreeSceneManager.h.

TerrainOptions Ogre::TerrainSceneManager::mOptions [static, protected]
 

Terrain size, detail etc.

Definition at line 347 of file OgreTerrainSceneManager.h.

PageSourceMap Ogre::TerrainSceneManager::mPageSources [protected]
 

Map of source type -> TerrainPageSource.

Definition at line 381 of file OgreTerrainSceneManager.h.

bool Ogre::TerrainSceneManager::mPagingEnabled [protected]
 

Whether paging is enabled, or whether a single page will be used.

Definition at line 363 of file OgreTerrainSceneManager.h.

RenderQueue* Ogre::SceneManager::mRenderQueue [protected, inherited]
 

Queue of objects for rendering.

Definition at line 129 of file OgreSceneManager.h.

RenderQueueListenerList Ogre::SceneManager::mRenderQueueListeners [protected, inherited]
 

Definition at line 316 of file OgreSceneManager.h.

Matrix4 Ogre::OctreeSceneManager::mScaleFactor [protected, inherited]
 

Definition at line 235 of file OgreOctreeSceneManager.h.

SceneNodeList Ogre::SceneManager::mSceneNodes [protected, inherited]
 

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

SceneNode* Ogre::SceneManager::mSceneRoot [protected, inherited]
 

Root scene node.

Definition at line 181 of file OgreSceneManager.h.

AxisAlignedBoxSceneQuery* Ogre::SceneManager::mShadowCasterAABBQuery [protected, inherited]
 

Definition at line 403 of file OgreSceneManager.h.

ShadowCasterList Ogre::SceneManager::mShadowCasterList [protected, inherited]
 

Definition at line 401 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowCasterPlainBlackPass [protected, inherited]
 

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

Definition at line 234 of file OgreSceneManager.h.

ShadowCasterSceneQueryListener* Ogre::SceneManager::mShadowCasterQueryListener [protected, inherited]
 

Definition at line 455 of file OgreSceneManager.h.

SphereSceneQuery* Ogre::SceneManager::mShadowCasterSphereQuery [protected, inherited]
 

Definition at line 402 of file OgreSceneManager.h.

ColourValue Ogre::SceneManager::mShadowColour [protected, inherited]
 

Definition at line 349 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowDebugPass [protected, inherited]
 

Definition at line 350 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowDirLightExtrudeDist [protected, inherited]
 

Definition at line 358 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowFarDist [protected, inherited]
 

Definition at line 404 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowFarDistSquared [protected, inherited]
 

Definition at line 405 of file OgreSceneManager.h.

HardwareIndexBufferSharedPtr Ogre::SceneManager::mShadowIndexBuffer [protected, inherited]
 

Definition at line 355 of file OgreSceneManager.h.

size_t Ogre::SceneManager::mShadowIndexBufferSize [protected, inherited]
 

Definition at line 356 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShadowMaterialInitDone [protected, inherited]
 

Definition at line 353 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowModulativePass [protected, inherited]
 

Definition at line 352 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowReceiverPass [protected, inherited]
 

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

Definition at line 236 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowStencilPass [protected, inherited]
 

Definition at line 351 of file OgreSceneManager.h.

ShadowTechnique Ogre::SceneManager::mShadowTechnique [protected, inherited]
 

Definition at line 347 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShadowTextureCasterVPDirty [protected, inherited]
 

Definition at line 416 of file OgreSceneManager.h.

unsigned short Ogre::SceneManager::mShadowTextureCount [protected, inherited]
 

Definition at line 361 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowTextureCustomCasterPass [protected, inherited]
 

Definition at line 410 of file OgreSceneManager.h.

String Ogre::SceneManager::mShadowTextureCustomCasterVertexProgram [protected, inherited]
 

Definition at line 412 of file OgreSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomCasterVPParams [protected, inherited]
 

Definition at line 414 of file OgreSceneManager.h.

Pass* Ogre::SceneManager::mShadowTextureCustomReceiverPass [protected, inherited]
 

Definition at line 411 of file OgreSceneManager.h.

String Ogre::SceneManager::mShadowTextureCustomReceiverVertexProgram [protected, inherited]
 

Definition at line 413 of file OgreSceneManager.h.

GpuProgramParametersSharedPtr Ogre::SceneManager::mShadowTextureCustomReceiverVPParams [protected, inherited]
 

Definition at line 415 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowTextureFadeEnd [protected, inherited]
 

Definition at line 408 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowTextureFadeStart [protected, inherited]
 

Definition at line 407 of file OgreSceneManager.h.

PixelFormat Ogre::SceneManager::mShadowTextureFormat [protected, inherited]
 

Definition at line 362 of file OgreSceneManager.h.

Real Ogre::SceneManager::mShadowTextureOffset [protected, inherited]
 

Definition at line 406 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShadowTextureReceiverVPDirty [protected, inherited]
 

Definition at line 417 of file OgreSceneManager.h.

ShadowTextureList Ogre::SceneManager::mShadowTextures [protected, inherited]
 

Definition at line 364 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShadowTextureSelfShadow [protected, inherited]
 

Definition at line 409 of file OgreSceneManager.h.

unsigned short Ogre::SceneManager::mShadowTextureSize [protected, inherited]
 

Definition at line 360 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShadowUseInfiniteFarPlane [protected, inherited]
 

Definition at line 366 of file OgreSceneManager.h.

bool Ogre::SceneManager::mShowBoundingBoxes [protected, inherited]
 

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

Definition at line 327 of file OgreSceneManager.h.

bool Ogre::OctreeSceneManager::mShowBoxes [protected, inherited]
 

box visibility flag

Definition at line 223 of file OgreOctreeSceneManager.h.

Referenced by Ogre::OctreeSceneManager::setShowBoxes().

bool Ogre::SceneManager::mSkyBoxDrawFirst [protected, inherited]
 

Definition at line 202 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyBoxEnabled [protected, inherited]
 

Definition at line 201 of file OgreSceneManager.h.

Entity* Ogre::SceneManager::mSkyBoxEntity[6] [protected, inherited]
 

Definition at line 191 of file OgreSceneManager.h.

SceneNode* Ogre::SceneManager::mSkyBoxNode [protected, inherited]
 

Definition at line 195 of file OgreSceneManager.h.

Quaternion Ogre::SceneManager::mSkyBoxOrientation [protected, inherited]
 

Definition at line 203 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyDomeDrawFirst [protected, inherited]
 

Definition at line 206 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyDomeEnabled [protected, inherited]
 

Definition at line 205 of file OgreSceneManager.h.

Entity* Ogre::SceneManager::mSkyDomeEntity[5] [protected, inherited]
 

Definition at line 190 of file OgreSceneManager.h.

SceneNode* Ogre::SceneManager::mSkyDomeNode [protected, inherited]
 

Definition at line 194 of file OgreSceneManager.h.

Quaternion Ogre::SceneManager::mSkyDomeOrientation [protected, inherited]
 

Definition at line 207 of file OgreSceneManager.h.

Plane Ogre::SceneManager::mSkyPlane [protected, inherited]
 

Definition at line 199 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyPlaneDrawFirst [protected, inherited]
 

Definition at line 198 of file OgreSceneManager.h.

bool Ogre::SceneManager::mSkyPlaneEnabled [protected, inherited]
 

Definition at line 197 of file OgreSceneManager.h.

Entity* Ogre::SceneManager::mSkyPlaneEntity [protected, inherited]
 

Definition at line 189 of file OgreSceneManager.h.

SceneNode* Ogre::SceneManager::mSkyPlaneNode [protected, inherited]
 

Definition at line 193 of file OgreSceneManager.h.

SpecialCaseRenderQueueList Ogre::SceneManager::mSpecialCaseQueueList [protected, inherited]
 

Definition at line 216 of file OgreSceneManager.h.

SpecialCaseRenderQueueMode Ogre::SceneManager::mSpecialCaseQueueMode [protected, inherited]
 

Definition at line 217 of file OgreSceneManager.h.

StaticGeometryList Ogre::SceneManager::mStaticGeometryList [protected, inherited]
 

Definition at line 163 of file OgreSceneManager.h.

TerrainPage2D Ogre::TerrainSceneManager::mTerrainPages [protected]
 

Grid of buffered pages.

Definition at line 369 of file OgreTerrainSceneManager.h.

SceneNode* Ogre::TerrainSceneManager::mTerrainRoot [protected]
 

The node to which all terrain tiles are attached.

Definition at line 345 of file OgreTerrainSceneManager.h.

bool Ogre::TerrainSceneManager::mUseCustomMaterial [protected]
 

Should we use an externally-defined custom material?

Definition at line 349 of file OgreTerrainSceneManager.h.

bool Ogre::TerrainSceneManager::mUseNamedParameterLodMorph [protected]
 

Are we using a named parameter to hook up LOD morph?

Definition at line 357 of file OgreTerrainSceneManager.h.

NodeList Ogre::OctreeSceneManager::mVisible [protected, inherited]
 

Definition at line 206 of file OgreOctreeSceneManager.h.

RenderQueueGroupID Ogre::SceneManager::mWorldGeometryRenderQueue [protected, inherited]
 

Definition at line 218 of file OgreSceneManager.h.

String Ogre::TerrainSceneManager::mWorldTextureName [protected]
 

The name of the world texture.

Definition at line 353 of file OgreTerrainSceneManager.h.

unsigned long Ogre::SceneManager::WORLD_GEOMETRY_QUERY_MASK [static, inherited]
 

Query mask which will be used for world geometry SceneQuery.

Definition at line 85 of file OgreSceneManager.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:06:58 2006