OGRE
1.11.6
Object-Oriented Graphics Rendering Engine
|
Specialized SceneManager that uses Portal-Connected-Zones to divide the scene spatially. More...
#include <OgrePCZSceneManager.h>
Public Types | |
typedef MapIterator< AnimationList > | AnimationIterator |
typedef std::map< String, Animation * > | AnimationList |
typedef MapIterator< CameraList > | CameraIterator |
typedef std::map< String, Camera *> | CameraList |
enum | IlluminationRenderStage { IRS_NONE, IRS_RENDER_TO_TEXTURE, IRS_RENDER_RECEIVER_PASS } |
Describes the stage of rendering when performing complex illumination. More... | |
typedef MapIterator< MovableObjectMap > | MovableObjectIterator |
enum | PrefabType { PT_PLANE, PT_CUBE, PT_SPHERE } |
Prefab shapes available without loading a model. More... | |
enum | SpecialCaseRenderQueueMode { SCRQM_INCLUDE, SCRQM_EXCLUDE } |
Enumeration of the possible modes allowed for processing the special case render queue list. More... | |
typedef MapIterator< ZoneMap > | ZoneIterator |
ZoneMap iterator for read-only access to the zonemap. More... | |
Public Member Functions | |
PCZSceneManager (const String &name) | |
Standard Constructor. More... | |
~PCZSceneManager () | |
Standard destructor. More... | |
void | _addDirtyInstanceManager (InstanceManager *dirtyManager) |
Called by an InstanceManager when it has at least one InstanceBatch that needs their bounds to be updated for proper culling. More... | |
virtual void | _alertVisibleObjects (void) |
Alerts each unculled object, notifying it that it will be drawn. More... | |
void | _applySceneAnimations (void) |
Internal method for applying animations to scene nodes. More... | |
bool | _areRenderStateChangesSuppressed (void) const |
Are render state changes suppressed? More... | |
bool | _areShadowsSuppressed (void) const |
Are shadows suppressed? More... | |
void | _calcZonesAffectedByLights (Camera *cam) |
Calculate which zones are affected by each light. More... | |
void | _clearAllZonesPortalUpdateFlag (void) |
Clear portal update flag from all zones. More... | |
void | _dirtyNodeByMovingPortals (void) |
Mark nodes dirty for every zone with moving portal in the scene. More... | |
virtual void | _findVisibleObjects (Camera *cam, VisibleObjectsBoundsInfo *visibleBounds, bool onlyShadowCasters) |
Recurses through the PCZTree determining which nodes are visible. More... | |
CompositorChain * | _getActiveCompositorChain () const |
Gets the active compositor chain of the current scene being rendered. More... | |
const AutoParamDataSource * | _getAutoParamDataSource () |
uint32 | _getCombinedVisibilityMask (void) const |
Internal method for getting the combination between the global visibility mask and the per-viewport visibility mask. More... | |
IlluminationRenderStage | _getCurrentRenderStage () |
const LightList & | _getLightsAffectingFrustum (void) const |
Get the list of lights which could be affecting the frustum. More... | |
ulong | _getLightsDirtyCounter (void) const |
Advance method to gets the lights dirty counter. More... | |
void | _handleLodEvents () |
Handle LOD events. More... | |
void | _injectRenderWithPass (Pass *pass, Renderable *rend, bool shadowDerivation=true, bool doLightIteration=false, const LightList *manualLightList=0) |
Render something as if it came from the current queue. More... | |
void | _issueRenderOp (Renderable *rend, const Pass *pass) |
Internal method for issuing the render operation. More... | |
void | _markGpuParamsDirty (uint16 mask) |
Method to allow you to mark gpu parameters as dirty, causing them to be updated according to the mask that you set when updateGpuProgramParameters is next called. More... | |
void | _notifyAutotrackingSceneNode (SceneNode *node, bool autoTrack) |
Internal method for notifying the manager that a SceneNode is autotracking. More... | |
void | _notifyEntityMaterialLodChanged (EntityMaterialLodChangedEvent &evt) |
Notify that an entity material LOD change event has occurred. More... | |
void | _notifyEntityMeshLodChanged (EntityMeshLodChangedEvent &evt) |
Notify that an entity mesh LOD change event has occurred. More... | |
void | _notifyLightsDirty (void) |
Advance method to increase the lights dirty counter due lights changed. More... | |
void | _notifyMovableObjectLodChanged (MovableObjectLodChangedEvent &evt) |
Notify that a movable object LOD change event has occurred. More... | |
RenderContext * | _pauseRendering () |
Pause rendering of the frame. More... | |
void | _populateLightList (const Vector3 &position, Real radius, LightList &destList, uint32 lightMask=0xFFFFFFFF) |
Populate a light list with an ordered set of the lights which are closest to the position specified. More... | |
void | _populateLightList (const SceneNode *sn, Real radius, LightList &destList, uint32 lightMask=0xFFFFFFFF) |
Populates a light list with an ordered set of the lights which are closest to the position of the SceneNode given. More... | |
void | _queueSkiesForRendering (Camera *cam) |
Internal method for queueing the sky objects with the params as previously set through setSkyBox, setSkyPlane and setSkyDome. More... | |
void | _releaseManualHardwareResources () |
Notifies the scene manager that hardware resources were lost. More... | |
void | _renderQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om) |
Render the objects in a given queue group. More... | |
void | _renderScene (Camera *cam, Viewport *vp, bool includeOverlays) |
Overridden from basic scene manager. More... | |
void | _renderVisibleObjects (void) |
Sends visible objects found in _findVisibleObjects to the rendering engine. More... | |
void | _restoreManualHardwareResources () |
Notifies the scene manager that hardware resources should be restored. More... | |
void | _resumeRendering (RenderContext *context) |
Resume rendering of the frame. More... | |
void | _setActiveCompositorChain (CompositorChain *chain) |
Sets the active compositor chain of the current scene being rendered. More... | |
void | _setDestinationRenderSystem (RenderSystem *sys) |
Notifies the scene manager of its destination render system. More... | |
const Pass * | _setPass (const Pass *pass, bool evenIfSuppressed=false, bool shadowDerivation=true) |
Internal method for setting up the renderstate for a rendering pass. More... | |
void | _setSkyBox (bool enable, const String &materialName, Real distance=5000, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, const Quaternion &orientation=Quaternion::IDENTITY, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Enables / disables a 'sky box' i.e. More... | |
void | _setSkyDome (bool enable, const String &materialName, Real curvature=10, Real tiling=8, Real distance=4000, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, const Quaternion &orientation=Quaternion::IDENTITY, int xsegments=16, int ysegments=16, int ysegments_keep=-1, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Enables / disables a 'sky dome' i.e. More... | |
void | _setSkyPlane (bool enable, const Plane &plane, const String &materialName, Real scale=1000, Real tiling=10, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, Real bow=0, int xsegments=1, int ysegments=1, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Enables / disables a 'sky plane' i.e. More... | |
void | _suppressRenderStateChanges (bool suppress) |
Indicates to the SceneManager whether it should suppress changing the RenderSystem states when rendering objects. More... | |
void | _suppressShadows (bool suppress) |
Indicates to the SceneManager whether it should suppress the active shadow rendering technique until told otherwise. More... | |
void | _updateHomeZone (PCZSceneNode *, bool) |
Make sure the home zone for the PCZSceneNode is up-to-date. More... | |
void | _updatePCZSceneNode (PCZSceneNode *) |
Checks the given SceneNode, and determines if it needs to be moved to a different PCZone or be added to the visitors list of other PCZone(s). More... | |
void | _updatePCZSceneNodes (void) |
Update the PCZSceneNodes. More... | |
void | _updatePortalZoneData (void) |
Check/Update the zone data for every portal in the scene. More... | |
virtual void | _updateSceneGraph (Camera *cam) |
Update Scene Graph (does several things now) More... | |
void | addListener (Listener *s) |
Add a listener which will get called back on scene manager events. More... | |
void | addLodListener (LodListener *listener) |
Add a level of detail listener. More... | |
void | addPCZSceneNode (PCZSceneNode *sn, PCZone *zone) |
add a PCZSceneNode to the scene by putting it in a zone NOTE: This zone will be the scene node's home zone More... | |
void | addRenderObjectListener (RenderObjectListener *newListener) |
Registers a new Render Object Listener which will be notified when rendering an object. More... | |
void | addRenderQueueListener (RenderQueueListener *newListener) |
Registers a new RenderQueueListener which will be notified when render queues are processed. More... | |
void | addSpecialCaseRenderQueue (uint8 qid) |
Adds an item to the 'special case' render queue list. More... | |
virtual void | clearScene (void) |
Overridden to clean up zones. More... | |
void | clearSpecialCaseRenderQueues (void) |
Clears the 'special case' render queue list. More... | |
void | connectPortalsToTargetZonesByLocation (void) |
AxisAlignedBoxSceneQuery * | createAABBQuery (const AxisAlignedBox &box, uint32 mask=0xFFFFFFFF) |
Overridden from SceneManager. More... | |
Animation * | createAnimation (const String &name, Real length) |
Creates an animation which can be used to animate scene nodes. More... | |
AnimationState * | createAnimationState (const String &animName) |
Create an AnimationState object for managing application of animations. More... | |
AntiPortal * | createAntiPortal (const String &name, PortalBase::PORTAL_TYPE type=PortalBase::PORTAL_TYPE_QUAD) |
Create a new anti portal instance. More... | |
BillboardChain * | createBillboardChain (const String &name) |
Create a BillboardChain, an object which you can use to render a linked chain of billboards. More... | |
BillboardChain * | createBillboardChain () |
Create a BillboardChain, an object which you can use to render a linked chain of billboards, with a generated name. More... | |
BillboardSet * | createBillboardSet (unsigned int poolSize=20) |
Creates a new BillboardSet for use with this scene manager. More... | |
BillboardSet * | createBillboardSet (const String &name, unsigned int poolSize=20) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
virtual Camera * | createCamera (const String &name) |
Creates a specialized PCZCamera. More... | |
Entity * | createEntity (const String &entityName, const String &meshName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Create an Entity (instance of a discrete mesh). More... | |
Entity * | createEntity (const String &entityName, const MeshPtr &pMesh) |
Create an Entity (instance of a discrete mesh). More... | |
Entity * | createEntity (const String &meshName) |
Create an Entity (instance of a discrete mesh) with an autogenerated name. More... | |
Entity * | createEntity (const MeshPtr &pMesh) |
Create an Entity (instance of a discrete mesh) with an autogenerated name. More... | |
Entity * | createEntity (const String &entityName, PrefabType ptype) |
Create an Entity (instance of a discrete mesh) from a range of prefab shapes. More... | |
Entity * | createEntity (PrefabType ptype) |
Create an Entity (instance of a discrete mesh) from a range of prefab shapes, generating the name. More... | |
InstancedEntity * | createInstancedEntity (const String &materialName, const String &managerName) |
Creates an InstancedEntity based on an existing InstanceManager (. More... | |
InstanceManager * | createInstanceManager (const String &customName, const String &meshName, const String &groupName, InstanceManager::InstancingTechnique technique, size_t numInstancesPerBatch, uint16 flags=0, unsigned short subMeshIdx=0) |
Creates an InstanceManager interface to create & manipulate instanced entities You need to call this function at least once before start calling createInstancedEntity to build up an instance based on the given mesh. More... | |
IntersectionSceneQuery * | createIntersectionQuery (uint32 mask=0xFFFFFFFF) |
Creates an IntersectionSceneQuery for this scene manager. More... | |
virtual Light * | createLight (const String &name) |
Creates a light for use in the scene. More... | |
virtual Light * | createLight () |
Creates a light with a generated name. More... | |
ManualObject * | createManualObject (const String &name) |
Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface. More... | |
ManualObject * | createManualObject () |
Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface, generating the name. More... | |
MovableObject * | createMovableObject (const String &name, const String &typeName, const NameValuePairList *params=0) |
Create a movable object of the type specified. More... | |
MovableObject * | createMovableObject (const String &typeName, const NameValuePairList *params=0) |
ParticleSystem * | createParticleSystem (const String &name, const String &templateName) |
Creates a particle system based on a template. More... | |
ParticleSystem * | createParticleSystem (const String &name, size_t quota=500, const String &resourceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME) |
Create a blank particle system. More... | |
ParticleSystem * | createParticleSystem (size_t quota=500, const String &resourceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME) |
Create a blank particle system with a generated name. More... | |
PlaneBoundedVolumeListSceneQuery * | createPlaneBoundedVolumeQuery (const PlaneBoundedVolumeList &volumes, uint32 mask=0xFFFFFFFF) |
Creates a PlaneBoundedVolumeListSceneQuery for this scene manager. More... | |
Portal * | createPortal (const String &name, PortalBase::PORTAL_TYPE type=PortalBase::PORTAL_TYPE_QUAD) |
Create a new portal instance. More... | |
RaySceneQuery * | createRayQuery (const Ray &ray, uint32 mask=0xFFFFFFFF) |
Creates a RaySceneQuery for this scene manager. More... | |
RibbonTrail * | createRibbonTrail (const String &name) |
Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes. More... | |
RibbonTrail * | createRibbonTrail () |
Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes, generating the name. More... | |
virtual SceneNode * | createSceneNode (void) |
Creates a PCZSceneNode. More... | |
virtual SceneNode * | createSceneNode (const String &name) |
Creates a PCZSceneNode. More... | |
virtual SceneNode * | createSceneNodeImpl (void) |
override this to ensure specialised PCZSceneNode is used. More... | |
virtual SceneNode * | createSceneNodeImpl (const String &name) |
override this to ensure their specialised PCZSceneNode is used. More... | |
SphereSceneQuery * | createSphereQuery (const Sphere &sphere, uint32 mask=0xFFFFFFFF) |
Creates a SphereSceneQuery for this scene manager. More... | |
StaticGeometry * | createStaticGeometry (const String &name) |
Creates a StaticGeometry instance suitable for use with this SceneManager. More... | |
PCZone * | createZone (const String &zoneType, const String &instanceName) |
Create a zone with the given name. More... | |
PCZone * | createZoneFromFile (const String &zoneTypeName, const String &zoneName, PCZSceneNode *parentNode, const String &filename) |
Create a zone from a file (type of file depends on the zone type. More... | |
void | createZoneSpecificNodeData (PCZSceneNode *) |
Create any zone-specific data necessary for all zones for the given node. More... | |
void | createZoneSpecificNodeData (PCZone *) |
Create any zone-specific data necessary for all nodes for the given zone. More... | |
void | destroyAllAnimations (void) |
Removes all animations created using this SceneManager. More... | |
void | destroyAllAnimationStates (void) |
Removes all animation states created using this SceneManager. More... | |
void | destroyAllBillboardChains (void) |
Removes & destroys all BillboardChains from the SceneManager. More... | |
void | destroyAllBillboardSets (void) |
Removes & destroys all BillboardSets. More... | |
virtual void | destroyAllCameras (void) |
Removes (and destroys) all cameras from the scene. More... | |
virtual void | destroyAllEntities (void) |
Removes & destroys all Entities. More... | |
void | destroyAllInstanceManagers (void) |
virtual void | destroyAllLights (void) |
Removes and destroys all lights in the scene. More... | |
void | destroyAllManualObjects (void) |
Removes & destroys all ManualObjects from the SceneManager. More... | |
void | destroyAllMovableObjects (void) |
Destroy all MovableObjects. More... | |
void | destroyAllMovableObjectsByType (const String &typeName) |
Destroy all MovableObjects of a given type. More... | |
void | destroyAllParticleSystems (void) |
Removes & destroys all ParticleSystems from the SceneManager. More... | |
void | destroyAllRibbonTrails (void) |
Removes & destroys all RibbonTrails from the SceneManager. More... | |
void | destroyAllStaticGeometry (void) |
Remove & destroy all StaticGeometry instances. More... | |
void | destroyAnimation (const String &name) |
Destroys an Animation. More... | |
void | destroyAnimationState (const String &name) |
Destroys an AnimationState. More... | |
void | destroyAntiPortal (AntiPortal *p) |
Delete a anti portal instance by pointer. More... | |
void | destroyAntiPortal (const String &portalName) |
Delete a anti portal instance by name. More... | |
void | destroyBillboardChain (BillboardChain *obj) |
Removes & destroys a BillboardChain from the SceneManager. More... | |
void | destroyBillboardChain (const String &name) |
void | destroyBillboardSet (BillboardSet *set) |
Removes & destroys an BillboardSet from the SceneManager. More... | |
void | destroyBillboardSet (const String &name) |
virtual void | destroyCamera (Camera *cam) |
Removes a camera from the scene. More... | |
virtual void | destroyCamera (const String &name) |
Removes a camera from the scene. More... | |
void | destroyEntity (Entity *ent) |
Removes & destroys an Entity from the SceneManager. More... | |
void | destroyEntity (const String &name) |
void | destroyInstancedEntity (InstancedEntity *instancedEntity) |
Removes an InstancedEntity,. More... | |
void | destroyInstanceManager (const String &name) |
Destroys an InstanceManager if it was created with createInstanceManager() More... | |
void | destroyInstanceManager (InstanceManager *instanceManager) |
virtual void | destroyLight (const String &name) |
Removes the named light from the scene and destroys it. More... | |
virtual void | destroyLight (Light *light) |
Removes the light from the scene and destroys it based on a pointer. More... | |
void | destroyManualObject (ManualObject *obj) |
Removes & destroys a ManualObject from the SceneManager. More... | |
void | destroyManualObject (const String &name) |
void | destroyMovableObject (const String &name, const String &typeName) |
Destroys a MovableObject with the name specified, of the type specified. More... | |
void | destroyMovableObject (MovableObject *m) |
Destroys a MovableObject. More... | |
void | destroyParticleSystem (ParticleSystem *obj) |
Removes & destroys a ParticleSystem from the SceneManager. More... | |
void | destroyParticleSystem (const String &name) |
Removes & destroys a ParticleSystem from the SceneManager. More... | |
void | destroyPortal (Portal *p) |
Delete a portal instance by pointer. More... | |
void | destroyPortal (const String &portalName) |
Delete a portal instance by name. More... | |
void | destroyQuery (SceneQuery *query) |
Destroys a scene query of any type. More... | |
void | destroyRibbonTrail (RibbonTrail *obj) |
Removes & destroys a RibbonTrail from the SceneManager. More... | |
void | destroyRibbonTrail (const String &name) |
virtual void | destroySceneNode (const String &name) |
Deletes a scene node by name & corresponding PCZSceneNode. More... | |
virtual void | destroySceneNode (SceneNode *sn) |
Deletes a scene node & corresponding PCZSceneNode. More... | |
void | destroyStaticGeometry (StaticGeometry *geom) |
Remove & destroy a StaticGeometry instance. More... | |
void | destroyStaticGeometry (const String &name) |
Remove & destroy a StaticGeometry instance. More... | |
void | destroyZone (PCZone *zone, bool destroySceneNodes) |
Destroy an existing zone within the scene. More... | |
void | enableSky (bool) |
Enable/disable sky rendering. More... | |
virtual size_t | estimateWorldGeometry (const String &filename) |
Estimate the number of loading stages required to load the named world geometry. More... | |
virtual size_t | estimateWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | extractAllMovableObjectsByType (const String &typeName) |
Extract all injected MovableObjects of a given type. More... | |
void | extractMovableObject (const String &name, const String &typeName) |
Extract a previously injected MovableObject. More... | |
void | extractMovableObject (MovableObject *m) |
void | findNodesIn (const AxisAlignedBox &box, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *exclude=0) |
Recurses the scene, adding any nodes intersecting with the box into the given list. More... | |
void | findNodesIn (const Sphere &sphere, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0) |
Recurses the scene, adding any nodes intersecting with the sphere into the given list. More... | |
void | findNodesIn (const PlaneBoundedVolume &volume, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0) |
Recurses the PCZTree, adding any nodes intersecting with the volume into the given list. More... | |
void | findNodesIn (const Ray &ray, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0) |
Recurses the scene, starting in the given startZone, adding any nodes intersecting with the ray into the given list. More... | |
PCZone * | findZoneForPoint (Vector3 &point) |
Find the smallest zone which contains the point. More... | |
const ColourValue & | getAmbientLight (void) const |
Returns the ambient light level to be used for the scene. More... | |
Animation * | getAnimation (const String &name) const |
Looks up an Animation object previously created with createAnimation. More... | |
AnimationIterator | getAnimationIterator (void) |
Returns a specialised MapIterator over all animations in the scene. More... | |
const AnimationList & | getAnimations () const |
Returns a const version of the animation list. More... | |
AnimationState * | getAnimationState (const String &animName) const |
Retrieves animation state as previously created using createAnimationState. More... | |
AnimationStateIterator | getAnimationStateIterator (void) |
Returns a specialised MapIterator over all animation states in the scene. More... | |
const AnimationStateMap & | getAnimationStates () |
Returns a specialised Map over all animation states in the scene. More... | |
BillboardChain * | getBillboardChain (const String &name) const |
Retrieves a pointer to the named BillboardChain. More... | |
BillboardSet * | getBillboardSet (const String &name) const |
Retrieves a pointer to the named BillboardSet. More... | |
Camera * | getCamera (const String &name) const |
Retrieves a pointer to the named camera. More... | |
CameraIterator | getCameraIterator (void) |
Returns a specialised MapIterator over all cameras in the scene. More... | |
bool | getCameraRelativeRendering () const |
Get whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it. More... | |
const CameraList & | getCameras () const |
Returns a const version of the camera list. More... | |
Viewport * | getCurrentViewport (void) const |
Gets the current viewport being rendered (advanced use only, only valid during viewport update. More... | |
PCZone * | getDefaultZone (void) |
Get the default zone. More... | |
RenderSystem * | getDestinationRenderSystem () |
Get the rendersystem subclass to which the output of this Scene Manager gets sent. More... | |
bool | getDisplaySceneNodes (void) const |
Returns true if all scene nodes axis are to be displayed. More... | |
Entity * | getEntity (const String &name) const |
Retrieves a pointer to the named Entity. More... | |
bool | getFindVisibleObjects (void) |
Gets whether the SceneManager should search for visible objects, or whether they are being manually handled. More... | |
bool | getFlipCullingOnNegativeScale () const |
Get whether to automatically flip the culling mode on objects whenever they are negatively scaled. More... | |
const ColourValue & | getFogColour (void) const |
Returns the fog colour for the scene. More... | |
Real | getFogDensity (void) const |
Returns the fog density for the scene. More... | |
Real | getFogEnd (void) const |
Returns the fog end distance for the scene. More... | |
FogMode | getFogMode (void) const |
Returns the fog mode for the scene. More... | |
Real | getFogStart (void) const |
Returns the fog start distance for the scene. More... | |
InstanceManager * | getInstanceManager (const String &managerName) const |
Retrieves an existing InstanceManager by it's name. More... | |
virtual Light * | getLight (const String &name) const |
Returns a pointer to the named Light which has previously been added to the scene. More... | |
const PlaneList & | getLightClippingPlanes (Light *l) |
Retrieve a set of clipping planes for a given light. More... | |
const RealRect & | getLightScissorRect (Light *l, const Camera *cam) |
Retrieve a scissor rectangle for a given light and camera. More... | |
ManualObject * | getManualObject (const String &name) const |
Retrieves a pointer to the named ManualObject. More... | |
MovableObject * | getMovableObject (const String &name, const String &typeName) const |
Get a reference to a previously created MovableObject. More... | |
MovableObjectIterator | getMovableObjectIterator (const String &typeName) |
Get an iterator over all MovableObect instances of a given type. More... | |
const String & | getName (void) const |
Return the instance name of this SceneManager. More... | |
bool | getNormaliseNormalsOnScale () const |
Get whether to automatically normalise normals on objects whenever they are scaled. More... | |
size_t | getNumInstancesPerBatch (const String &meshName, const String &groupName, const String &materialName, InstanceManager::InstancingTechnique technique, size_t numInstancesPerBatch, uint16 flags=0, unsigned short subMeshIdx=0) |
virtual bool | getOption (const String &, void *) |
Gets the given option for the Scene Manager. More... | |
bool | getOptionKeys (StringVector &refKeys) |
Method for getting all the implementation-specific options of the scene manager. More... | |
bool | getOptionValues (const String &key, StringVector &refValueList) |
Method for getting all possible values for a specific option. More... | |
ParticleSystem * | getParticleSystem (const String &name) const |
Retrieves a pointer to the named ParticleSystem. More... | |
SceneMgrQueuedRenderableVisitor * | getQueuedRenderableVisitor (void) const |
Gets the current visitor object which processes queued renderables. More... | |
RenderQueue * | getRenderQueue (void) |
Retrieves the internal render queue, for advanced users only. More... | |
RibbonTrail * | getRibbonTrail (const String &name) const |
Retrieves a pointer to the named RibbonTrail. More... | |
SceneNode * | getRootSceneNode (void) |
Gets the SceneNode at the root of the scene hierarchy. More... | |
SceneNode * | getSceneNode (const String &name, bool throwExceptionIfNotFound=true) const |
Retrieves a named SceneNode from the scene graph. More... | |
const ShadowCameraSetupPtr & | getShadowCameraSetup () const |
Get the shadow camera setup in use for all lights which don't have their own shadow camera setup. More... | |
const VisibleObjectsBoundsInfo & | getShadowCasterBoundsInfo (const Light *light, size_t iteration=0) const |
Returns the shadow caster AAB for a specific light-camera combination. More... | |
bool | getShadowCasterRenderBackFaces () const |
Gets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. More... | |
const ColourValue & | getShadowColour (void) const |
Get the colour used to modulate areas in shadow. More... | |
Real | getShadowDirectionalLightExtrusionDistance (void) const |
Gets the distance a shadow volume is extruded for a directional light. More... | |
Real | getShadowDirLightTextureOffset (void) const |
Gets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. More... | |
Real | getShadowFarDistance (void) const |
Gets the default maximum distance away from the camera that shadows will be visible. More... | |
Real | getShadowFarDistanceSquared (void) const |
size_t | getShadowIndexBufferSize (void) const |
Get the size of the shadow index buffer. More... | |
ShadowTechnique | getShadowTechnique (void) const |
Gets the current shadow technique. More... | |
const TexturePtr & | getShadowTexture (size_t shadowIndex) |
Get a reference to the shadow texture currently in use at the given index. More... | |
ConstShadowTextureConfigIterator | getShadowTextureConfigIterator () const |
const ShadowTextureConfigList & | getShadowTextureConfigList () const |
Get the current shadow texture settings. More... | |
size_t | getShadowTextureCount (void) const |
size_t | getShadowTextureCountPerLightType (Light::LightTypes type) const |
Get the number of shadow textures is assigned for the given light type. More... | |
bool | getShadowTextureSelfShadow (void) const |
Gets whether or not texture shadows attempt to self-shadow. More... | |
bool | getShadowUseLightClipPlanes () const |
Gets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering. More... | |
bool | getShowBoundingBoxes () const |
Returns if all bounding boxes of scene nodes are to be displayed. More... | |
bool | getShowDebugShadows (void) const |
Are debug shadows shown? More... | |
const SkyBoxGenParameters & | getSkyBoxGenParameters (void) const |
Get the parameters used to generate the current SkyBox, if any. More... | |
SceneNode * | getSkyBoxNode (void) const |
Get the skybox node, if enabled. More... | |
const SkyDomeGenParameters & | getSkyDomeGenParameters (void) const |
Get the parameters used to generate the current SkyDome, if any. More... | |
SceneNode * | getSkyDomeNode (void) const |
Get the sky dome node, if enabled. More... | |
const SkyPlaneGenParameters & | getSkyPlaneGenParameters (void) const |
Get the parameters used to construct the SkyPlane, if any. More... | |
SceneNode * | getSkyPlaneNode (void) const |
Get the sky plane node, if enabled. More... | |
SpecialCaseRenderQueueMode | getSpecialCaseRenderQueueMode (void) |
Gets the way the special case render queue list is processed. More... | |
StaticGeometry * | getStaticGeometry (const String &name) const |
Retrieve a previously created StaticGeometry instance. More... | |
virtual ViewPoint | getSuggestedViewpoint (bool random=false) |
Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed. More... | |
const String & | getTypeName (void) const |
Retrieve the type name of this scene manager. More... | |
uint32 | getVisibilityMask (void) |
Gets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. More... | |
const VisibleObjectsBoundsInfo & | getVisibleObjectsBoundsInfo (const Camera *cam) const |
Returns a visibility boundary box for a specific camera. More... | |
uint8 | getWorldGeometryRenderQueue (void) |
Gets the render queue that the world geometry (if any) this SceneManager renders will be associated with. More... | |
PCZone * | getZoneByName (const String &zoneName) |
Get a zone by name. More... | |
ZoneIterator | getZoneIterator (void) |
bool | hasAnimation (const String &name) const |
Returns whether an animation with the given name exists. More... | |
bool | hasAnimationState (const String &name) const |
Returns whether an animation state with the given name exists. More... | |
bool | hasBillboardChain (const String &name) const |
Returns whether a billboard chain with the given name exists. More... | |
bool | hasBillboardSet (const String &name) const |
Returns whether a billboardset with the given name exists. More... | |
bool | hasCamera (const String &name) const |
Returns whether a camera with the given name exists. More... | |
bool | hasEntity (const String &name) const |
Returns whether an entity with the given name exists. More... | |
bool | hasInstanceManager (const String &managerName) const |
Returns whether an InstanceManager with the given name exists. More... | |
virtual bool | hasLight (const String &name) const |
Returns whether a light with the given name exists. More... | |
bool | hasManualObject (const String &name) const |
Returns whether a manual object with the given name exists. More... | |
bool | hasMovableObject (const String &name, const String &typeName) const |
Returns whether a movable object instance with the given name exists. More... | |
virtual bool | hasOption (const String &strKey) const |
Method for verifying whether the scene manager has an implementation-specific option. More... | |
bool | hasParticleSystem (const String &name) const |
Returns whether a particle system with the given name exists. More... | |
bool | hasRibbonTrail (const String &name) const |
Returns whether a ribbon trail with the given name exists. More... | |
bool | hasSceneNode (const String &name) const |
Returns whether a scene node with the given name exists. More... | |
bool | hasStaticGeometry (const String &name) const |
Returns whether a static geometry instance with the given name exists. More... | |
void | init (const String &defaultZoneTypeName, const String &filename="none") |
Initializes the manager. More... | |
void | injectMovableObject (MovableObject *m) |
Inject a MovableObject instance created externally. More... | |
virtual void | invalidatePerFrameScissorRectCache () |
Scissor rects are cached during frame, and this cache should be explicitly invalidated if several renders are done during one frame using different projections matrices, for example for tiled, stereo or multiview orthographic projection rendering. More... | |
bool | isLateMaterialResolving () const |
Gets whether using late material resolving or not. More... | |
bool | isRenderQueueToBeProcessed (uint8 qid) |
Returns whether or not the named queue will be rendered based on the current 'special case' render queue list and mode. More... | |
bool | isShadowTechniqueAdditive (void) const |
Is there an additive shadowing technique in use? More... | |
bool | isShadowTechniqueIntegrated (void) const |
Is the shadow technique integrated into primary materials? More... | |
bool | isShadowTechniqueInUse (void) const |
Is there any shadowing technique in use? More... | |
bool | isShadowTechniqueModulative (void) const |
Is there a modulative shadowing technique in use? More... | |
bool | isShadowTechniqueStencilBased (void) const |
Is there a stencil shadow based shadowing technique in use? More... | |
bool | isShadowTechniqueTextureBased (void) const |
Is there a texture shadow based shadowing technique in use? More... | |
bool | isSkyBoxEnabled (void) const |
Return whether a skybox is enabled. More... | |
bool | isSkyDomeEnabled (void) const |
Return whether a skydome is enabled. More... | |
bool | isSkyPlaneEnabled (void) const |
Return whether a key plane is enabled. More... | |
void | manualRender (RenderOperation *rend, Pass *pass, Viewport *vp, const Affine3 &worldMatrix, const Affine3 &viewMatrix, const Matrix4 &projMatrix, bool doBeginEndFrame=false) |
Manual rendering method, for advanced users only. More... | |
void | manualRender (Renderable *rend, const Pass *pass, Viewport *vp, const Affine3 &viewMatrix, const Matrix4 &projMatrix, bool doBeginEndFrame=false, bool lightScissoringClipping=true, bool doLightIteration=true, const LightList *manualLightList=0) |
Manual rendering method for rendering a single object. More... | |
OGRE_MUTEX (sceneGraphMutex) | |
Mutex to protect the scene graph from simultaneous access from multiple threads. More... | |
virtual void | prepareShadowTextures (Camera *cam, Viewport *vp, const LightList *lightList=0) |
virtual void | prepareWorldGeometry (const String &filename) |
Sets the source of the 'world' geometry, i.e. More... | |
virtual void | prepareWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | removeListener (Listener *s) |
Remove a listener. More... | |
void | removeLodListener (LodListener *listener) |
Remove a level of detail listener. More... | |
void | removeRenderObjectListener (RenderObjectListener *delListener) |
Removes a listener previously added with addRenderObjectListener. More... | |
void | removeRenderQueueListener (RenderQueueListener *delListener) |
Removes a listener previously added with addRenderQueueListener. More... | |
void | removeSceneNode (SceneNode *) |
Removes the given PCZSceneNode. More... | |
void | removeSpecialCaseRenderQueue (uint8 qid) |
Removes an item to the 'special case' render queue list. More... | |
void | setAmbientLight (const ColourValue &colour) |
Sets the ambient light level to be used for the scene. More... | |
void | setCameraRelativeRendering (bool rel) |
Set whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it. More... | |
void | setDisplaySceneNodes (bool display) |
Tells the SceneManager whether it should render the SceneNodes which make up the scene as well as the objects in the scene. More... | |
void | setFindVisibleObjects (bool find) |
Sets whether the SceneManager should search for visible objects, or whether they are being manually handled. More... | |
void | setFlipCullingOnNegativeScale (bool n) |
Set whether to automatically flip the culling mode on objects whenever they are negatively scaled. More... | |
void | setFog (FogMode mode=FOG_NONE, const ColourValue &colour=ColourValue::White, Real expDensity=0.001f, Real linearStart=0.0f, Real linearEnd=1.0f) |
Sets the fogging mode applied to the scene. More... | |
void | setLateMaterialResolving (bool isLate) |
Sets whether to use late material resolving or not. More... | |
void | setNodeHomeZone (SceneNode *, PCZone *) |
Set the home zone for a scene node. More... | |
void | setNormaliseNormalsOnScale (bool n) |
Set whether to automatically normalise normals on objects whenever they are scaled. More... | |
virtual bool | setOption (const String &, const void *) |
Sets the given option for the SceneManager. More... | |
void | setQueuedRenderableVisitor (SceneMgrQueuedRenderableVisitor *visitor) |
Advanced method for supplying an alternative visitor, used for parsing the render queues and sending the results to the renderer. More... | |
void | setShadowCameraSetup (const ShadowCameraSetupPtr &shadowSetup) |
Set the shadow camera setup to use for all lights which don't have their own shadow camera setup. More... | |
void | setShadowCasterRenderBackFaces (bool bf) |
Sets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. More... | |
void | setShadowColour (const ColourValue &colour) |
Set the colour used to modulate areas in shadow. More... | |
void | setShadowDirectionalLightExtrusionDistance (Real dist) |
Sets the distance a shadow volume is extruded for a directional light. More... | |
void | setShadowDirLightTextureOffset (Real offset) |
Sets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. More... | |
void | setShadowFarDistance (Real distance) |
Sets the default maximum distance away from the camera that shadows will be visible. More... | |
void | setShadowIndexBufferSize (size_t size) |
Sets the maximum size of the index buffer used to render shadow primitives. More... | |
void | setShadowTechnique (ShadowTechnique technique) |
Sets the general shadow technique to be used in this scene. More... | |
void | setShadowTextureCasterMaterial (const MaterialPtr &mat) |
Sets the default material to use for rendering shadow casters. More... | |
void | setShadowTextureConfig (size_t shadowIndex, unsigned short width, unsigned short height, PixelFormat format, unsigned short fsaa=0, uint16 depthBufferPoolId=1) |
Set the detailed configuration for a shadow texture. More... | |
void | setShadowTextureConfig (size_t shadowIndex, const ShadowTextureConfig &config) |
Set the detailed configuration for a shadow texture. More... | |
void | setShadowTextureCount (size_t count) |
Set the number of textures allocated for texture-based shadows. More... | |
void | setShadowTextureCountPerLightType (Light::LightTypes type, size_t count) |
Set the number of shadow textures a light type uses. More... | |
void | setShadowTextureFadeEnd (Real fadeEnd) |
Sets the proportional distance at which texture shadows finish to fading out. More... | |
void | setShadowTextureFadeStart (Real fadeStart) |
Sets the proportional distance at which texture shadows begin to fade out. More... | |
void | setShadowTextureFSAA (unsigned short fsaa) |
Set the level of multisample AA of the textures used for texture-based shadows. More... | |
void | setShadowTexturePixelFormat (PixelFormat fmt) |
Set the pixel format of the textures used for texture-based shadows. More... | |
void | setShadowTextureReceiverMaterial (const MaterialPtr &mat) |
Sets the default material to use for rendering shadow receivers. More... | |
void | setShadowTextureSelfShadow (bool selfShadow) |
Sets whether or not texture shadows should attempt to self-shadow. More... | |
void | setShadowTextureSettings (unsigned short size, unsigned short count, PixelFormat fmt=PF_X8R8G8B8, unsigned short fsaa=0, uint16 depthBufferPoolId=1) |
Sets the size and count of textures used in texture-based shadows. More... | |
void | setShadowTextureSize (unsigned short size) |
Set the size of the texture used for all texture-based shadows. More... | |
void | setShadowUseInfiniteFarPlane (bool enable) |
Sets whether we should use an inifinite camera far plane when rendering stencil shadows. More... | |
void | setShadowUseLightClipPlanes (bool enabled) |
Sets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering. More... | |
void | setShowDebugShadows (bool debug) |
Enables / disables the rendering of debug information for shadows. More... | |
void | setShowPortals (bool b) |
Sets the portal visibility flag. More... | |
void | setSkyBox (bool enable, const String &materialName, Real distance=5000, bool drawFirst=true, const Quaternion &orientation=Quaternion::IDENTITY, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Enables / disables a 'sky box' i.e. More... | |
void | setSkyBoxEnabled (bool enable) |
Enables / disables a 'sky box'. More... | |
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::AUTODETECT_RESOURCE_GROUP_NAME) |
Enables / disables a 'sky dome' i.e. More... | |
void | setSkyDomeEnabled (bool enable) |
Enables / disables a 'sky dome'. More... | |
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::AUTODETECT_RESOURCE_GROUP_NAME) |
Enables / disables a 'sky plane' i.e. More... | |
void | setSkyPlaneEnabled (bool enable) |
Enables / disables a 'sky plane'. More... | |
void | setSkyZone (PCZone *zone) |
Set the zone which contains the sky node. More... | |
void | setSpecialCaseRenderQueueMode (SpecialCaseRenderQueueMode mode) |
Sets the way the special case render queue list is processed. More... | |
void | setVisibilityMask (uint32 vmask) |
Sets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. More... | |
virtual void | setWorldGeometry (const String &filename) |
Sets the source of the 'world' geometry, i.e. More... | |
virtual void | setWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | setWorldGeometryRenderQueue (uint8 qid) |
Overridden from SceneManager. More... | |
virtual void | setZoneGeometry (const String &zoneName, PCZSceneNode *parentNode, const String &filename) |
Set the "main" geometry of the zone. More... | |
void | showBoundingBoxes (bool bShow) |
Allows all bounding boxes of scene nodes to be displayed. More... | |
Static Public Attributes | |
static uint32 | ENTITY_TYPE_MASK |
Query type mask which will be used for entities. More... | |
static uint32 | FRUSTUM_TYPE_MASK |
Query type mask which will be used for frusta and cameras. More... | |
static uint32 | FX_TYPE_MASK |
Query type mask which will be used for effects like billboardsets / particle systems. More... | |
static uint32 | LIGHT_TYPE_MASK |
Query type mask which will be used for lights. More... | |
static uint32 | STATICGEOMETRY_TYPE_MASK |
Query type mask which will be used for StaticGeometry. More... | |
static uint32 | USER_TYPE_MASK_LIMIT |
User type mask limit. More... | |
static uint32 | WORLD_GEOMETRY_TYPE_MASK |
Query type mask which will be used for world geometry. More... | |
Friends | |
class | PCZAxisAlignedBoxSceneQuery |
class | PCZIntersectionSceneQuery |
class | PCZPlaneBoundedVolumeListSceneQuery |
class | PCZRaySceneQuery |
class | PCZSphereSceneQuery |
Specialized SceneManager that uses Portal-Connected-Zones to divide the scene spatially.
ZoneMap iterator for read-only access to the zonemap.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Ogre::PCZSceneManager::PCZSceneManager | ( | const String & | name | ) |
Standard Constructor.
Ogre::PCZSceneManager::~PCZSceneManager | ( | ) |
Standard destructor.
|
virtual |
Retrieve the type name of this scene manager.
Implements Ogre::SceneManager.
void Ogre::PCZSceneManager::init | ( | const String & | defaultZoneTypeName, |
const String & | filename = "none" |
||
) |
Initializes the manager.
Portal* Ogre::PCZSceneManager::createPortal | ( | const String & | name, |
PortalBase::PORTAL_TYPE | type = PortalBase::PORTAL_TYPE_QUAD |
||
) |
Create a new portal instance.
void Ogre::PCZSceneManager::destroyPortal | ( | Portal * | p | ) |
Delete a portal instance by pointer.
void Ogre::PCZSceneManager::destroyPortal | ( | const String & | portalName | ) |
Delete a portal instance by name.
AntiPortal* Ogre::PCZSceneManager::createAntiPortal | ( | const String & | name, |
PortalBase::PORTAL_TYPE | type = PortalBase::PORTAL_TYPE_QUAD |
||
) |
Create a new anti portal instance.
void Ogre::PCZSceneManager::destroyAntiPortal | ( | AntiPortal * | p | ) |
Delete a anti portal instance by pointer.
void Ogre::PCZSceneManager::destroyAntiPortal | ( | const String & | portalName | ) |
Delete a anti portal instance by name.
PCZone* Ogre::PCZSceneManager::createZoneFromFile | ( | const String & | zoneTypeName, |
const String & | zoneName, | ||
PCZSceneNode * | parentNode, | ||
const String & | filename | ||
) |
Create a zone from a file (type of file depends on the zone type.
|
virtual |
Set the "main" geometry of the zone.
|
virtual |
override this to ensure specialised PCZSceneNode is used.
Reimplemented from Ogre::SceneManager.
override this to ensure their specialised PCZSceneNode is used.
Reimplemented from Ogre::SceneManager.
|
virtual |
Creates a PCZSceneNode.
Reimplemented from Ogre::SceneManager.
Creates a PCZSceneNode.
Reimplemented from Ogre::SceneManager.
Creates a specialized PCZCamera.
Reimplemented from Ogre::SceneManager.
|
virtual |
Deletes a scene node by name & corresponding PCZSceneNode.
Reimplemented from Ogre::SceneManager.
|
virtual |
Deletes a scene node & corresponding PCZSceneNode.
Reimplemented from Ogre::SceneManager.
|
virtual |
Overridden to clean up zones.
Reimplemented from Ogre::SceneManager.
void Ogre::PCZSceneManager::setWorldGeometryRenderQueue | ( | uint8 | qid | ) |
Overridden from SceneManager.
|
virtual |
Overridden from basic scene manager.
Reimplemented from Ogre::SceneManager.
void Ogre::PCZSceneManager::enableSky | ( | bool | ) |
Enable/disable sky rendering.
void Ogre::PCZSceneManager::setSkyZone | ( | PCZone * | zone | ) |
Set the zone which contains the sky node.
|
virtual |
Update Scene Graph (does several things now)
Reimplemented from Ogre::SceneManager.
|
virtual |
Recurses through the PCZTree determining which nodes are visible.
Reimplemented from Ogre::SceneManager.
|
virtual |
Alerts each unculled object, notifying it that it will be drawn.
Useful for doing calculations only on nodes that will be drawn, prior to drawing them...
Creates a light for use in the scene.
name | The name of the new light, to identify it later. |
Reimplemented from Ogre::SceneManager.
Returns a pointer to the named Light which has previously been added to the scene.
Reimplemented from Ogre::SceneManager.
|
virtual |
Returns whether a light with the given name exists.
Reimplemented from Ogre::SceneManager.
|
virtual |
Removes the named light from the scene and destroys it.
Reimplemented from Ogre::SceneManager.
|
virtual |
Removes and destroys all lights in the scene.
Reimplemented from Ogre::SceneManager.
void Ogre::PCZSceneManager::_updatePortalZoneData | ( | void | ) |
Check/Update the zone data for every portal in the scene.
Essentially, this routine checks each portal for intersections with other portals and updates if a crossing occurs
void Ogre::PCZSceneManager::_dirtyNodeByMovingPortals | ( | void | ) |
Mark nodes dirty for every zone with moving portal in the scene.
void Ogre::PCZSceneManager::_updatePCZSceneNodes | ( | void | ) |
Update the PCZSceneNodes.
void Ogre::PCZSceneManager::_calcZonesAffectedByLights | ( | Camera * | cam | ) |
Calculate which zones are affected by each light.
void Ogre::PCZSceneManager::connectPortalsToTargetZonesByLocation | ( | void | ) |
void Ogre::PCZSceneManager::_updatePCZSceneNode | ( | PCZSceneNode * | ) |
void Ogre::PCZSceneManager::removeSceneNode | ( | SceneNode * | ) |
Removes the given PCZSceneNode.
void Ogre::PCZSceneManager::addPCZSceneNode | ( | PCZSceneNode * | sn, |
PCZone * | zone | ||
) |
add a PCZSceneNode to the scene by putting it in a zone NOTE: This zone will be the scene node's home zone
Create a zone with the given name.
void Ogre::PCZSceneManager::destroyZone | ( | PCZone * | zone, |
bool | destroySceneNodes | ||
) |
Destroy an existing zone within the scene.
void Ogre::PCZSceneManager::_updateHomeZone | ( | PCZSceneNode * | , |
bool | |||
) |
Make sure the home zone for the PCZSceneNode is up-to-date.
Find the smallest zone which contains the point.
void Ogre::PCZSceneManager::createZoneSpecificNodeData | ( | PCZSceneNode * | ) |
Create any zone-specific data necessary for all zones for the given node.
void Ogre::PCZSceneManager::createZoneSpecificNodeData | ( | PCZone * | ) |
Create any zone-specific data necessary for all nodes for the given zone.
Set the home zone for a scene node.
void Ogre::PCZSceneManager::findNodesIn | ( | const AxisAlignedBox & | box, |
PCZSceneNodeList & | list, | ||
PCZone * | startZone, | ||
PCZSceneNode * | exclude = 0 |
||
) |
Recurses the scene, adding any nodes intersecting with the box into the given list.
It ignores the exclude scene node.
void Ogre::PCZSceneManager::findNodesIn | ( | const Sphere & | sphere, |
PCZSceneNodeList & | list, | ||
PCZone * | startZone, | ||
PCZSceneNode * | start = 0 |
||
) |
Recurses the scene, adding any nodes intersecting with the sphere into the given list.
It will start in the start SceneNode if given, otherwise, it will start at the root node.
void Ogre::PCZSceneManager::findNodesIn | ( | const PlaneBoundedVolume & | volume, |
PCZSceneNodeList & | list, | ||
PCZone * | startZone, | ||
PCZSceneNode * | start = 0 |
||
) |
Recurses the PCZTree, adding any nodes intersecting with the volume into the given list.
It will start in the start SceneNode if given, otherwise, it will start at the root node.
void Ogre::PCZSceneManager::findNodesIn | ( | const Ray & | ray, |
PCZSceneNodeList & | list, | ||
PCZone * | startZone, | ||
PCZSceneNode * | start = 0 |
||
) |
Recurses the scene, starting in the given startZone, adding any nodes intersecting with the ray into the given list.
It will start in the start SceneNode if given, otherwise, it will start at the root node.
|
inline |
Get the default zone.
|
inline |
Sets the portal visibility flag.
|
virtual |
Sets the given option for the SceneManager.
Reimplemented from Ogre::SceneManager.
|
virtual |
Gets the given option for the Scene Manager.
Reimplemented from Ogre::SceneManager.
|
virtual |
Method for getting all possible values for a specific option.
When this list is too large (i.e. the option expects, for example, a float), the return value will be true, but the list will contain just one element whose size will be set to 0. Otherwise, the list will be filled with all the possible values the option can accept.
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. |
Reimplemented from Ogre::SceneManager.
|
virtual |
Method for getting all the implementation-specific options of the scene manager.
refKeys | A reference to a list that will be filled with all the available options. |
Reimplemented from Ogre::SceneManager.
|
virtual |
Overridden from SceneManager.
Reimplemented from Ogre::SceneManager.
|
virtual |
Creates a SphereSceneQuery for this scene manager.
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. |
Reimplemented from Ogre::SceneManager.
|
virtual |
Creates a PlaneBoundedVolumeListSceneQuery for this scene manager.
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.
|
virtual |
Creates a RaySceneQuery for this scene manager.
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::SceneManager.
|
virtual |
Creates an IntersectionSceneQuery for this scene manager.
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.
|
inline |
void Ogre::PCZSceneManager::_clearAllZonesPortalUpdateFlag | ( | void | ) |
Clear portal update flag from all zones.
|
virtual |
Reimplemented from Ogre::SceneManager.
|
inherited |
Mutex to protect the scene graph from simultaneous access from multiple threads.
|
inherited |
Pause rendering of the frame.
This has to be called when inside a renderScene call (Usually using a listener of some sort)
|
inherited |
Resume rendering of the frame.
This has to be called after a _pauseRendering call
context | The rendring context, as returned by the _pauseRendering call |
|
inlineinherited |
Return the instance name of this SceneManager.
Retrieves a pointer to the named camera.
|
inherited |
Returns whether a camera with the given name exists.
|
virtualinherited |
Removes a camera from the scene.
cam | Pointer to the camera to remove |
|
virtualinherited |
Removes a camera from the scene.
|
virtualinherited |
Removes (and destroys) all cameras from the scene.
|
virtualinherited |
Creates a light with a generated name.
Retrieve a set of clipping planes for a given light.
Retrieve a scissor rectangle for a given light and camera.
|
virtualinherited |
Scissor rects are cached during frame, and this cache should be explicitly invalidated if several renders are done during one frame using different projections matrices, for example for tiled, stereo or multiview orthographic projection rendering.
|
virtualinherited |
Removes the light from the scene and destroys it based on a pointer.
|
inherited |
Advance method to increase the lights dirty counter due lights changed.
|
inlineinherited |
Advance method to gets the lights dirty counter.
References Ogre::ViewPoint::position.
|
inherited |
Get the list of lights which could be affecting the frustum.
|
inherited |
Populate a light list with an ordered set of the lights which are closest to the position specified.
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. |
lightMask | The mask with which to include / exclude lights |
|
inherited |
Populates a light list with an ordered set of the lights which are closest to the position of the SceneNode given.
sn | The SceneNode for 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. |
lightMask | The mask with which to include / exclude lights |
|
inherited |
Gets the SceneNode at the root of the scene hierarchy.
|
inlineinherited |
Returns whether a scene node with the given name exists.
References Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME.
|
inherited |
|
inherited |
Create an Entity (instance of a discrete mesh) from a range of prefab shapes.
entityName | The name to be given to the entity (must be unique). |
ptype | The prefab type. |
|
inherited |
Create an Entity (instance of a discrete mesh) from a range of prefab shapes, generating the name.
ptype | The prefab type. |
Retrieves a pointer to the named Entity.
|
inherited |
Returns whether an entity with the given name exists.
|
inherited |
Removes & destroys an Entity from the SceneManager.
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
virtualinherited |
Removes & destroys all Entities.
|
inherited |
Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface.
name | The name to be given to the object (must be unique). |
|
inherited |
Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface, generating the name.
|
inherited |
Retrieves a pointer to the named ManualObject.
|
inherited |
Returns whether a manual object with the given name exists.
|
inherited |
Removes & destroys a ManualObject from the SceneManager.
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inherited |
Removes & destroys all ManualObjects from the SceneManager.
|
inherited |
Create a BillboardChain, an object which you can use to render a linked chain of billboards.
name | The name to be given to the object (must be unique). |
|
inherited |
Create a BillboardChain, an object which you can use to render a linked chain of billboards, with a generated name.
|
inherited |
Retrieves a pointer to the named BillboardChain.
|
inherited |
Returns whether a billboard chain with the given name exists.
|
inherited |
Removes & destroys a BillboardChain from the SceneManager.
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inherited |
Removes & destroys all BillboardChains from the SceneManager.
|
inherited |
Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes.
name | The name to be given to the object (must be unique). |
|
inherited |
Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes, generating the name.
|
inherited |
Retrieves a pointer to the named RibbonTrail.
|
inherited |
Returns whether a ribbon trail with the given name exists.
|
inherited |
Removes & destroys a RibbonTrail from the SceneManager.
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inherited |
Removes & destroys all RibbonTrails from the SceneManager.
|
inherited |
Creates a particle system based on a template.
name | The name to give the new particle system instance. |
templateName | The name of the template to base the new instance on. |
|
inherited |
Create a blank particle system.
name | The name to give the ParticleSystem. |
quota | The maximum number of particles to allow in this system. |
resourceGroup | The resource group which will be used to load dependent resources |
|
inherited |
Create a blank particle system with a generated name.
quota | The maximum number of particles to allow in this system. |
resourceGroup | The resource group which will be used to load dependent resources |
|
inherited |
Retrieves a pointer to the named ParticleSystem.
|
inherited |
Returns whether a particle system with the given name exists.
|
inherited |
Removes & destroys a ParticleSystem from the SceneManager.
|
inherited |
Removes & destroys a ParticleSystem from the SceneManager.
|
inherited |
Removes & destroys all ParticleSystems from the SceneManager.
|
inherited |
Sets the ambient light level to be used for the scene.
|
inherited |
Returns the ambient light level to be used for the scene.
|
virtualinherited |
Sets the source of the 'world' geometry, i.e.
the large, mainly static geometry making up the world e.g. rooms, landscape etc. This function can be called before setWorldGeometry in a background thread, do to some slow tasks (e.g. IO) that do not involve the backend render system.
|
virtualinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
stream | Data stream containing data to load |
typeName | String identifying the type of world geometry contained in the stream - not required if this manager only supports one type of world geometry. |
|
virtualinherited |
Sets the source of the 'world' geometry, i.e.
the large, mainly static geometry making up the world e.g. rooms, landscape etc.
Reimplemented in Ogre::BspSceneManager.
|
virtualinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
stream | Data stream containing data to load |
typeName | String identifying the type of world geometry contained in the stream - not required if this manager only supports one type of world geometry. |
Reimplemented in Ogre::BspSceneManager.
|
inlinevirtualinherited |
Estimate the number of loading stages required to load the named world geometry.
Reimplemented in Ogre::BspSceneManager.
|
inlinevirtualinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
stream | Data stream containing data to load |
typeName | String identifying the type of world geometry contained in the stream - not required if this manager only supports one type of world geometry. |
Reimplemented in Ogre::BspSceneManager.
|
virtualinherited |
Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed.
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. |
Reimplemented in Ogre::BspSceneManager.
|
inlinevirtualinherited |
Method for verifying whether the scene manager has an implementation-specific option.
strKey | The name of the option to check for. |
|
inherited |
Internal method for issuing the render operation.
|
inherited |
Internal method for applying animations to scene nodes.
|
inherited |
Sends visible objects found in _findVisibleObjects to the rendering engine.
|
inlineinherited |
Internal method for queueing the sky objects with the params as previously set through setSkyBox, setSkyPlane and setSkyDome.
References Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME, and Ogre::RENDER_QUEUE_SKIES_EARLY.
|
inherited |
Notifies the scene manager of its destination render system.
sys | Pointer to the RenderSystem subclass to be used as a render target. |
|
inherited |
Notifies the scene manager that hardware resources were lost.
|
inherited |
Notifies the scene manager that hardware resources should be restored.
|
inherited |
Enables / disables a 'sky plane' i.e.
a plane at constant distance from the camera representing the sky.
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 compatible 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 tessellation on the plane to perform per-vertex effects. |
groupName | The name of the resource group to which to assign the plane mesh. |
|
inherited |
Enables / disables a 'sky plane' i.e.
a plane at constant distance from the camera representing the sky.
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 compatible 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 tessellation on the plane to perform per-vertex effects. |
groupName | The name of the resource group to which to assign the plane mesh. |
renderQueue | The render queue to use when rendering this object |
|
inlineinherited |
Enables / disables a 'sky plane'.
|
inlineinherited |
Return whether a key plane is enabled.
|
inlineinherited |
Get the sky plane node, if enabled.
|
inlineinherited |
Get the parameters used to construct the SkyPlane, if any.
References Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME, Ogre::Quaternion::IDENTITY, Ogre::ViewPoint::orientation, and Ogre::RENDER_QUEUE_SKIES_EARLY.
|
inherited |
Enables / disables a 'sky box' i.e.
a 6-sided box at constant distance from the camera representing the sky.
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. |
|
inherited |
Enables / disables a 'sky box' i.e.
a 6-sided box at constant distance from the camera representing the sky.
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. |
renderQueue | The render queue to use when rendering this object |
|
inlineinherited |
Enables / disables a 'sky box'.
|
inlineinherited |
Return whether a skybox is enabled.
|
inlineinherited |
Get the skybox node, if enabled.
|
inlineinherited |
Get the parameters used to generate the current SkyBox, if any.
References Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME, Ogre::Quaternion::IDENTITY, Ogre::ViewPoint::orientation, and Ogre::RENDER_QUEUE_SKIES_EARLY.
|
inherited |
Enables / disables a 'sky dome' i.e.
an illusion of a curved sky.
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. |
|
inherited |
Enables / disables a 'sky dome' i.e.
an illusion of a curved sky.
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. |
renderQueue | The render queue to use when rendering this object |
|
inlineinherited |
Enables / disables a 'sky dome'.
|
inlineinherited |
Return whether a skydome is enabled.
|
inlineinherited |
Get the sky dome node, if enabled.
|
inlineinherited |
Get the parameters used to generate the current SkyDome, if any.
References Ogre::FOG_NONE, and Ogre::ColourValue::White.
|
inherited |
Sets the fogging mode applied to the scene.
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. |
|
inherited |
Returns the fog mode for the scene.
|
inherited |
Returns the fog colour for the scene.
|
inherited |
Returns the fog start distance for the scene.
|
inherited |
Returns the fog end distance for the scene.
|
inherited |
Returns the fog density for the scene.
|
inherited |
Creates a new BillboardSet for use with this scene manager.
poolSize | The initial size of the pool of billboards (see BillboardSet for more information) |
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
name | The name to give to this billboard set. Must be unique. |
|
inherited |
Retrieves a pointer to the named BillboardSet.
|
inherited |
Returns whether a billboardset with the given name exists.
|
inherited |
Removes & destroys an BillboardSet from the SceneManager.
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inherited |
Removes & destroys all BillboardSets.
|
inherited |
Tells the SceneManager whether it should render the SceneNodes which make up the scene as well as the objects in the scene.
|
inlineinherited |
Returns true if all scene nodes axis are to be displayed.
Creates an animation which can be used to animate scene nodes.
name | The name of the animation, must be unique within this SceneManager. |
length | The total length of the animation. |
Looks up an Animation object previously created with createAnimation.
|
inherited |
Returns whether an animation with the given name exists.
|
inherited |
Destroys an Animation.
|
inherited |
Removes all animations created using this SceneManager.
|
inherited |
Create an AnimationState object for managing application of animations.
animName | The name of an animation created already with createAnimation. |
|
inherited |
Retrieves animation state as previously created using createAnimationState.
|
inherited |
Returns whether an animation state with the given name exists.
|
inherited |
Destroys an AnimationState.
|
inherited |
Removes all animation states created using this SceneManager.
|
inherited |
Manual rendering method, for advanced users only.
rend | A RenderOperation object describing the rendering op |
pass | The Pass to use for this render |
vp | Pointer to the viewport to render to, or 0 to use the current viewport |
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. |
|
inherited |
Manual rendering method for rendering a single object.
rend | The renderable to issue to the pipeline |
pass | The pass to use |
vp | Pointer to the viewport to render to, or 0 to use the existing viewport |
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. |
viewMatrix | The transform to apply from world to view space |
projMatrix | The transform to apply from view to screen space |
lightScissoringClipping | If true, passes that have the getLightScissorEnabled and/or getLightClipPlanesEnabled flags will cause calculation and setting of scissor rectangle and user clip planes. |
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. |
|
inherited |
Retrieves the internal render queue, for advanced users only.
|
inherited |
Registers a new RenderQueueListener which will be notified when render queues are processed.
|
inherited |
Removes a listener previously added with addRenderQueueListener.
|
inherited |
Registers a new Render Object Listener which will be notified when rendering an object.
|
inherited |
Removes a listener previously added with addRenderObjectListener.
|
inherited |
Adds an item to the 'special case' render queue list.
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. |
|
inherited |
Removes an item to the 'special case' render queue list.
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. |
|
inherited |
Clears the 'special case' render queue list.
|
inherited |
Sets the way the special case render queue list is processed.
mode | The mode of processing |
|
inherited |
Gets the way the special case render queue list is processed.
|
inherited |
Returns whether or not the named queue will be rendered based on the current 'special case' render queue list and mode.
qid | The identifier of the queue which should be tested |
|
inherited |
Gets the render queue that the world geometry (if any) this SceneManager renders will be associated with.
|
inherited |
Allows all bounding boxes of scene nodes to be displayed.
|
inherited |
Returns if all bounding boxes of scene nodes are to be displayed.
|
inherited |
Internal method for notifying the manager that a SceneNode is autotracking.
|
inherited |
Destroys a scene query of any type.
|
inlineinherited |
Returns a specialised MapIterator over all cameras in the scene.
|
inlineinherited |
Returns a const version of the camera list.
|
inlineinherited |
Returns a specialised MapIterator over all animations in the scene.
|
inlineinherited |
Returns a const version of the animation list.
|
inlineinherited |
Returns a specialised MapIterator over all animation states in the scene.
References Ogre::AnimationStateSet::getAnimationStateIterator().
|
inlineinherited |
Returns a specialised Map over all animation states in the scene.
References Ogre::AnimationStateSet::getAnimationStates().
|
inherited |
Sets the general shadow technique to be used in this scene.
technique | The shadowing technique to use for the scene. |
|
inlineinherited |
Gets the current shadow technique.
|
inlineinherited |
Enables / disables the rendering of debug information for shadows.
|
inlineinherited |
Are debug shadows shown?
|
inlineinherited |
Set the colour used to modulate areas in shadow.
|
inherited |
Get the colour used to modulate areas in shadow.
|
inherited |
Sets the distance a shadow volume is extruded for a directional light.
|
inherited |
Gets the distance a shadow volume is extruded for a directional light.
|
inherited |
Sets the default maximum distance away from the camera that shadows will be visible.
You have to call this function before you create lights or the default distance of zero will be used.
|
inlineinherited |
Gets the default maximum distance away from the camera that shadows will be visible.
|
inlineinherited |
|
inherited |
Sets the maximum size of the index buffer used to render shadow primitives.
size | The number of indexes; divide this by 3 to determine the number of triangles. |
|
inlineinherited |
Get the size of the shadow index buffer.
|
inherited |
Set the size of the texture used for all texture-based shadows.
|
inherited |
Set the detailed configuration for a shadow texture.
shadowIndex | The index of the texture to configure, must be < the number of shadow textures setting |
width | The width of the texture |
height | The height of the texture |
format | The pixel format of the texture |
fsaa | The level of multisampling to use. Ignored if the device does not support it. |
depthBufferPoolId | The pool # it should query the depth buffers from |
|
inherited |
Set the detailed configuration for a shadow texture.
shadowIndex | The index of the texture to configure, must be < the number of shadow textures setting |
config | Configuration structure |
|
inlineinherited |
Get the current shadow texture settings.
|
inherited |
|
inherited |
Set the pixel format of the textures used for texture-based shadows.
|
inherited |
Set the level of multisample AA of the textures used for texture-based shadows.
|
inherited |
Set the number of textures allocated for texture-based shadows.
|
inlineinherited |
|
inlineinherited |
Set the number of shadow textures a light type uses.
|
inlineinherited |
Get the number of shadow textures is assigned for the given light type.
References Ogre::PF_X8R8G8B8.
|
inherited |
Sets the size and count of textures used in texture-based shadows.
|
inherited |
Get a reference to the shadow texture currently in use at the given index.
|
inlineinherited |
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.
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.
|
inlineinherited |
Gets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space.
|
inlineinherited |
Sets the proportional distance at which texture shadows begin to fade out.
|
inlineinherited |
Sets the proportional distance at which texture shadows finish to fading out.
|
inherited |
Sets whether or not texture shadows should attempt to self-shadow.
selfShadow | Whether to attempt self-shadowing with texture shadows |
|
inlineinherited |
Gets whether or not texture shadows attempt to self-shadow.
|
inlineinherited |
Sets the default material to use for rendering shadow casters.
|
inlineinherited |
Sets the default material to use for rendering shadow receivers.
|
inlineinherited |
Sets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces.
|
inlineinherited |
Gets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces.
|
inherited |
Set the shadow camera setup to use for all lights which don't have their own shadow camera setup.
|
inherited |
Get the shadow camera setup in use for all lights which don't have their own shadow camera setup.
|
inlineinherited |
Sets whether we should use an inifinite camera far plane when rendering stencil shadows.
|
inlineinherited |
Is there a stencil shadow based shadowing technique in use?
References Ogre::SHADOWDETAILTYPE_STENCIL.
|
inlineinherited |
Is there a texture shadow based shadowing technique in use?
References Ogre::SHADOWDETAILTYPE_TEXTURE.
|
inlineinherited |
Is there a modulative shadowing technique in use?
References Ogre::SHADOWDETAILTYPE_MODULATIVE.
|
inlineinherited |
Is there an additive shadowing technique in use?
References Ogre::SHADOWDETAILTYPE_ADDITIVE.
|
inlineinherited |
Is the shadow technique integrated into primary materials?
References Ogre::SHADOWDETAILTYPE_INTEGRATED.
|
inlineinherited |
Is there any shadowing technique in use?
References Ogre::SHADOWTYPE_NONE.
|
inlineinherited |
Sets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering.
|
inlineinherited |
Gets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering.
|
inlineinherited |
Sets the active compositor chain of the current scene being rendered.
|
inlineinherited |
Sets whether to use late material resolving or not.
If set, materials will be resolved from the materials at the pass-setting stage and not at the render queue building stage. This is useful when the active material scheme during the render queue building stage is different from the one during the rendering stage.
|
inlineinherited |
Gets whether using late material resolving or not.
|
inlineinherited |
Gets the active compositor chain of the current scene being rendered.
|
inherited |
Add a listener which will get called back on scene manager events.
|
inherited |
Remove a listener.
|
inherited |
Creates a StaticGeometry instance suitable for use with this SceneManager.
name | The name to give the new object |
|
inherited |
Retrieve a previously created StaticGeometry instance.
|
inherited |
Returns whether a static geometry instance with the given name exists.
|
inherited |
Remove & destroy a StaticGeometry instance.
|
inherited |
Remove & destroy a StaticGeometry instance.
|
inherited |
Remove & destroy all StaticGeometry instances.
|
inherited |
Creates an InstanceManager interface to create & manipulate instanced entities You need to call this function at least once before start calling createInstancedEntity to build up an instance based on the given mesh.
customName | Custom name for referencing. Must be unique |
meshName | The mesh name the instances will be based upon |
groupName | The resource name where the mesh lives |
technique | Technique to use, which may be shader based, or hardware based. |
numInstancesPerBatch | Suggested number of instances per batch. The actual number may end up being lower if the technique doesn't support having so many. It can't be zero |
flags | Flags to pass to the InstanceManager |
subMeshIdx | InstanceManager only supports using one submesh from the base mesh. This parameter says which submesh to pick (must be <= Mesh::getNumSubMeshes()) |
|
inherited |
Retrieves an existing InstanceManager by it's name.
|
inherited |
Returns whether an InstanceManager with the given name exists.
|
inherited |
Destroys an InstanceManager if it was created with createInstanceManager()
name | Name of the manager to remove |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Creates an InstancedEntity based on an existing InstanceManager (.
materialName | Material name |
managerName | Name of the instance manager |
|
inherited |
Removes an InstancedEntity,.
instancedEntity | Instance to remove |
|
inherited |
Called by an InstanceManager when it has at least one InstanceBatch that needs their bounds to be updated for proper culling.
dirtyManager | The manager with dirty batches to update |
|
inherited |
Create a movable object of the type specified.
name | The name to give the object. Must be unique within type. |
typeName | The type of object to create |
params | Optional name/value pair list to give extra parameters to the created object. |
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inherited |
Destroys a MovableObject with the name specified, of the type specified.
|
inherited |
Destroys a MovableObject.
|
inherited |
Destroy all MovableObjects of a given type.
|
inherited |
Destroy all MovableObjects.
|
inherited |
Get a reference to a previously created MovableObject.
|
inherited |
Returns whether a movable object instance with the given name exists.
|
inherited |
Get an iterator over all MovableObect instances of a given type.
|
inherited |
Inject a MovableObject instance created externally.
|
inherited |
Extract a previously injected MovableObject.
|
inherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inherited |
Extract all injected MovableObjects of a given type.
|
inlineinherited |
Sets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible.
|
inlineinherited |
Gets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible.
|
inherited |
Internal method for getting the combination between the global visibility mask and the per-viewport visibility mask.
|
inlineinherited |
Sets whether the SceneManager should search for visible objects, or whether they are being manually handled.
|
inlineinherited |
Gets whether the SceneManager should search for visible objects, or whether they are being manually handled.
|
inlineinherited |
Set whether to automatically normalise normals on objects whenever they are scaled.
|
inlineinherited |
Get whether to automatically normalise normals on objects whenever they are scaled.
|
inlineinherited |
Set whether to automatically flip the culling mode on objects whenever they are negatively scaled.
|
inlineinherited |
Get whether to automatically flip the culling mode on objects whenever they are negatively scaled.
|
inherited |
Render something as if it came from the current queue.
pass | Material pass to use for setting up this quad. |
rend | Renderable to render |
shadowDerivation | Whether passes should be replaced with shadow caster / receiver passes |
|
inherited |
Indicates to the SceneManager whether it should suppress changing the RenderSystem states when rendering objects.
suppress | If true, no RenderSystem state changes will be issued until this method is called again with a parameter of false. |
|
inlineinherited |
Are render state changes suppressed?
|
inherited |
Internal method for setting up the renderstate for a rendering pass.
pass | The Pass details to set. |
evenIfSuppressed | Sets the pass details even if render state changes are suppressed; if you are using this to manually set state when render state changes are suppressed, you should set this to true. |
shadowDerivation | If false, disables the derivation of shadow passes from original passes |
|
inherited |
Method to allow you to mark gpu parameters as dirty, causing them to be updated according to the mask that you set when updateGpuProgramParameters is next called.
Only really useful if you're controlling parameter state in inner rendering loop callbacks.
mask | Some combination of GpuParamVariability which is bitwise OR'ed with the current dirty state. |
|
inherited |
Indicates to the SceneManager whether it should suppress the active shadow rendering technique until told otherwise.
suppress | If true, no shadow rendering will occur until this method is called again with a parameter of false. |
|
inlineinherited |
Are shadows suppressed?
|
inherited |
Render the objects in a given queue group.
|
inherited |
Advanced method for supplying an alternative visitor, used for parsing the render queues and sending the results to the renderer.
visitor | Your implementation of SceneMgrQueuedRenderableVisitor. If you pass 0, the default implementation will be used. |
|
inherited |
Gets the current visitor object which processes queued renderables.
|
inherited |
Get the rendersystem subclass to which the output of this Scene Manager gets sent.
|
inlineinherited |
Gets the current viewport being rendered (advanced use only, only valid during viewport update.
|
inherited |
Returns a visibility boundary box for a specific camera.
|
inherited |
Returns the shadow caster AAB for a specific light-camera combination.
|
inlineinherited |
Set whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it.
|
inlineinherited |
Get whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it.
|
inherited |
Add a level of detail listener.
|
inherited |
Remove a level of detail listener.
|
inherited |
Notify that a movable object LOD change event has occurred.
|
inherited |
Notify that an entity mesh LOD change event has occurred.
|
inherited |
Notify that an entity material LOD change event has occurred.
|
inherited |
Handle LOD events.
|
inlineinherited |
|
inlineinherited |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
staticinherited |
Query type mask which will be used for world geometry.
|
staticinherited |
Query type mask which will be used for entities.
|
staticinherited |
Query type mask which will be used for effects like billboardsets / particle systems.
|
staticinherited |
Query type mask which will be used for StaticGeometry.
|
staticinherited |
Query type mask which will be used for lights.
|
staticinherited |
Query type mask which will be used for frusta and cameras.
|
staticinherited |
User type mask limit.