Public Types |
| enum | PrefabType { PT_PLANE
} |
| | Prefab shapes available without loading a model. More...
|
Public Methods |
| | BspSceneManager () |
| | ~BspSceneManager () |
| void | setWorldGeometry (const String &filename) |
| | Specialised from SceneManager to support Quake3 bsp files. More...
|
| void | showNodeBoxes (bool show) |
| | Tells the manager whether to draw the axis-aligned boxes that surround nodes in the Bsp tree. More...
|
| ViewPoint | getSuggestedViewpoint (bool random=false) |
| | Specialised to suggest viewpoints. More...
|
| void | _findVisibleObjects (Camera *cam) |
| | Overriden from SceneManager. More...
|
| void | _renderVisibleObjects (void) |
| | Overriden from SceneManager. More...
|
| virtual Camera * | createCamera (const String &name) |
| | Creates a camera to be managed by this scene manager. More...
|
| virtual Camera * | getCamera (const String &name) |
| | Retrieves a pointer to the named camera. More...
|
| virtual void | removeCamera (Camera *cam) |
| | Removes a camera from the scene. More...
|
| virtual void | removeCamera (const String &name) |
| | Removes a camera from the scene. More...
|
| virtual void | removeAllCameras (void) |
| | Removes (and destroys) all cameras from the scene. More...
|
| virtual Light * | createLight (const String &name) |
| | Creates a light for use in the scene. More...
|
| virtual Light * | getLight (const String &name) |
| | Returns a pointer to the named Light which has previously been added to the scene. More...
|
| virtual void | removeLight (const String &name) |
| | Removes the named light from the scene and destroys it. More...
|
| virtual void | removeLight (Light *light) |
| | Removes the light from the scene and destroys it based on a pointer. More...
|
| virtual void | removeAllLights (void) |
| | Removes and destroys all lights in the scene. More...
|
| virtual Material * | createMaterial (const String &name) |
| | Creates a new (blank) material with the specified name. More...
|
| virtual Material * | getDefaultMaterialSettings (void) |
| | Returns a pointer to the default Material settings. More...
|
| virtual void | addMaterial (const Material &mat) |
| | Adds a material created outside the SceneManager to it's internal list. More...
|
| virtual Material * | getMaterial (const String &name) |
| | Gets a reference to a named Material. More...
|
| virtual Material * | getMaterial (int handle) |
| | Gets a reference to a material by it's numerical handle. More...
|
| virtual SceneNode * | createSceneNode (void) |
| | Creates an instance of a SceneNode. More...
|
| virtual SceneNode * | createSceneNode (const String &name) |
| | Creates an instance of a SceneNode with a given name. More...
|
| virtual void | destroySceneNode (const String &name) |
| | Destroys a SceneNode with a given name. More...
|
| virtual SceneNode * | getRootSceneNode (void) const |
| | Gets the SceneNode at the root of the scene hierarchy. More...
|
| virtual SceneNode * | getSceneNode (const String &name) const |
| | Retrieves a named SceneNode from the scene graph. More...
|
| virtual Entity * | createEntity (const String &entityName, const String &meshName) |
| | Create an Entity (instance of a discrete mesh). More...
|
| virtual Entity * | createEntity (const String &entityName, PrefabType ptype) |
| | Create an Entity (instance of a discrete mesh) from a range of prefab shapes. More...
|
| virtual Entity * | getEntity (const String &name) |
| | Retrieves a pointer to the named Entity. More...
|
| virtual void | removeEntity (Entity *ent) |
| | Removes & destroys an Entity from the SceneManager. More...
|
| virtual void | removeEntity (const String &name) |
| | Removes & destroys an Entity from the SceneManager by name. More...
|
| virtual void | removeAllEntities (void) |
| | Removes & destroys all Entities. More...
|
| virtual void | clearScene (void) |
| | Empties the entire scene, inluding all SceneNodes, Cameras, Entities and Lights etc. More...
|
| void | setAmbientLight (ColourValue colour) |
| | Sets the ambient light level to be used for the scene. More...
|
| ColourValue | getAmbientLight (void) |
| | Returns the ambient light level to be used for the scene. More...
|
| virtual bool | setOption (const String &strKey, const void *pValue) |
| | Method for setting a specific option of the Scene Manager. More...
|
| virtual bool | getOption (const String &strKey, void *pDestValue) |
| | Method for getting the value of an implementation-specific Scene Manager option. More...
|
| virtual bool | hasOption (const String &strKey) |
| | Method for verifying wether the scene manager has an implementation-specific option. More...
|
| virtual bool | getOptionValues (const String &strKey, std::list< SDDataChunk > &refValueList) |
| | Method for getting all possible values for a specific option. More...
|
| virtual bool | getOptionKeys (std::list< String > &refKeys) |
| | Method for getting all the implementation-specific options of the scene manager. More...
|
| virtual void | _updateSceneGraph (Camera *cam) |
| | Internal method for updating the scene graph ie the tree of SceneNode instances managed by this class. More...
|
| virtual void | _applySceneAnimations (void) |
| | Internal method for applying animations to scene nodes. More...
|
| virtual void | _renderScene (Camera *camera, Viewport *vp, bool includeOverlays) |
| | Prompts the class to send its contents to the renderer. More...
|
| virtual void | _queueSkiesForRendering (Camera *cam) |
| | Internal method for queueing the sky objects with the params as previously set through setSkyBox, setSkyPlane and setSkyDome. More...
|
| virtual void | _renderSubMesh (SubMesh *sm) |
| | Internal method for issuing geometry for a mesh to the RenderSystem pipeline. More...
|
| virtual void | _updateDynamicLights (void) |
| | Sends any updates to the dynamic lights in the world to the renderer. More...
|
| virtual void | _setDestinationRenderSystem (RenderSystem *sys) |
| | Notifies the scene manager of its destination render system. More...
|
| virtual void | setSkyPlane (bool enable, const Plane &plane, const String &materialName, Real scale=1000, Real tiling=10, bool drawFirst=true, Real bow=0) |
| | Enables / disables a 'sky plane' i.e. More...
|
| virtual void | setSkyBox (bool enable, const String &materialName, Real distance=5000, bool drawFirst=true, const Quaternion &orientation=Quaternion::IDENTITY) |
| | Enables / disables a 'sky box' i.e. More...
|
| virtual void | setSkyDome (bool enable, const String &materialName, Real curvature=10, Real tiling=8, Real distance=4000, bool drawFirst=true, const Quaternion &orientation=Quaternion::IDENTITY) |
| | Enables / disables a 'sky dome' i.e. More...
|
| void | setFog (FogMode mode=FOG_NONE, ColourValue colour=ColourValue::White, Real expDensity=0.001, Real linearStart=0.0, Real linearEnd=1.0) |
| | Sets the fogging mode applied to the scene. More...
|
| virtual FogMode | getFogMode (void) const |
| | Returns the fog mode for the scene. More...
|
| virtual const ColourValue & | getFogColour (void) const |
| | Returns the fog colour for the scene. More...
|
| virtual Real | getFogStart (void) const |
| | Returns the fog start distance for the scene. More...
|
| virtual Real | getFogEnd (void) const |
| | Returns the fog end distance for the scene. More...
|
| virtual Real | getFogDensity (void) const |
| | Returns the fog density for the scene. More...
|
| virtual void | displaySplashScreen (Viewport *vp, const String &name) |
| | Experimental - do not use! More...
|
| virtual BillboardSet * | createBillboardSet (const String &name, unsigned int poolSize=20) |
| | Creates a new BillboardSet for use with this scene manager. More...
|
| virtual BillboardSet * | getBillboardSet (const String &name) |
| | Retrieves a pointer to the named BillboardSet. More...
|
| virtual void | removeBillboardSet (BillboardSet *set) |
| | Removes & destroys an BillboardSet from the SceneManager. More...
|
| virtual void | removeBillboardSet (const String &name) |
| | Removes & destroys an BillboardSet from the SceneManager by name. More...
|
| virtual void | setDisplaySceneNodes (bool display) |
| | Tells the SceneManager whether it should render the SceneNodes which make up the scene as well as the objects in the scene. More...
|
| virtual Animation * | createAnimation (const String &name, Real length) |
| | Creates an animation which can be used to animate scene nodes. More...
|
| virtual Animation * | getAnimation (const String &name) const |
| | Looks up an Animation object previously created with createAnimation. More...
|
| virtual void | destroyAnimation (const String &name) |
| | Destroys an Animation. More...
|
| virtual void | destroyAllAnimations (void) |
| | Removes all animations created using this SceneManager. More...
|
| virtual AnimationState * | createAnimationState (const String &animName) |
| | Create an AnimationState object for managing application of animations. More...
|
| virtual AnimationState * | getAnimationState (const String &animName) |
| | Retrieves animation state as previously created using createAnimationState. More...
|
| virtual void | destroyAnimationState (const String &name) |
| | Destroys an AnimationState. More...
|
| virtual void | destroyAllAnimationStates (void) |
| | Removes all animation states created using this SceneManager. More...
|
| virtual void | manualRender (RenderOperation *rend, Material *mat, Viewport *vp, const Matrix4 &worldMatrix, const Matrix4 &viewMatrix, const Matrix4 &projMatrix) |
| | Manual rendering method, for advanced users only. More...
|
| virtual Overlay * | createOverlay (const String &name, ushort zorder=100) |
| | Creates a new Overlay. More...
|
| virtual Overlay * | getOverlay (const String &name) |
| | Gets a pointer to the named Overlay, previously created using createOverlay. More...
|
| virtual void | destroyOverlay (const String &name) |
| | Destroys the named Overlay. More...
|
| virtual void | destroyAllOverlays (void) |
| | Destroys all the overlays. More...
|
| virtual void | addRenderQueueListener (RenderQueueListener *newListener) |
| | Registers a new RenderQueueListener which will be notified when render queues are processed. More...
|
| virtual void | removeRenderQueueListener (RenderQueueListener *delListener) |
| | Removes a listener previously added with addRenderQueueListener. More...
|
| void | showBoundingBoxes (bool bShow) |
| | Allows all bounding boxes of scene nodes to be displayed. More...
|
| bool | getShowBoundingBoxes () |
| | Returns if all bounding boxes of scene nodes are to be displayed. More...
|
Protected Types |
| typedef std::set< int > | FaceGroupSet |
typedef std::map< Material *,
std::vector< StaticFaceGroup * >,
materialLess > | MaterialFaceGroupMap |
typedef std::map< std::string,
Camera *, std::less< std::string > > | CameraList |
typedef std::map< std::string,
Light *, std::less< std::string > > | LightList |
typedef std::map< std::string,
Entity *, std::less< std::string > > | EntityList |
typedef std::map< std::string,
BillboardSet *, std::less<
std::string > > | BillboardSetList |
typedef std::map< String,
SceneNode * > | SceneNodeList |
typedef std::map< String,
Animation * > | AnimationList |
| | Storage of animations, lookup by name. More...
|
| typedef std::vector< RenderQueueListener * > | RenderQueueListenerList |
| enum | BoxPlane {
BP_FRONT = 0,
BP_BACK = 1,
BP_LEFT = 2,
BP_RIGHT = 3,
BP_UP = 4,
BP_DOWN = 5
} |
Protected Methods |
| BspNode * | walkTree (Camera *camera) |
| | Walks the BSP tree looking for the node which the camera is in, and tags any geometry which is in a visible leaf for later processing. More...
|
| void | processVisibleLeaf (BspNode *leaf, Camera *cam) |
| | Tags geometry in the leaf specified for later rendering. More...
|
| void | clearGeometryCaches (void) |
| | Clears the caches of vertex anf face index data. More...
|
| void | cacheGeometry (const StaticFaceGroup *faceGroup) |
| | Caches a face group for imminent rendering. More...
|
| void | freeMemory (void) |
| | Frees up allocated memory for geometry caches. More...
|
| void | addBoundingBox (AxisAlignedBox &aab, bool visible) |
| | Adds a bounding box to draw if turned on. More...
|
| void | renderStaticGeometry (void) |
| | Renders the static level geometry tagged in walkTree. More...
|
| int | setMaterial (Material *mat, int numLayers) |
| | Internal method for setting a material for subsequent rendering. More...
|
| Mesh * | createSkyboxPlane (BoxPlane bp, Real distance, const Quaternion &orientation) |
| Mesh * | createSkydomePlane (BoxPlane bp, Real curvature, Real tiling, Real distance, const Quaternion &orientation) |
| void | useRenderableViewProjMode (Renderable *pRend) |
| | Internal method used by _renderVisibleObjects to deal with renderables which override the camera's own view / projection materices. More...
|
| bool | fireRenderQueueStarted (RenderQueueGroupID id) |
| | Internal method for firing the queue start event, returns true if queue is to be skipped. More...
|
| bool | fireRenderQueueEnded (RenderQueueGroupID id) |
| | Internal method for firing the queue end event, returns true if queue is to be repeated. More...
|
| virtual void | setViewport (Viewport *vp) |
| | Internal method for setting the destination viewport for the next render. More...
|
Protected Attributes |
| BspResourceManager * | mBspResMgr |
| BspLevel * | mLevel |
| FaceGroupSet | mFaceGroupSet |
| MaterialFaceGroupMap | mMatFaceGroupMap |
| RenderOperation | mPendingGeometry |
| | Cache of data about to go to the renderer. More...
|
| bool | mShowNodeAABs |
| RenderOperation | mAABGeometry |
| RenderQueue | mRenderQueue |
| | Queue of objects for rendering. More...
|
| ColourValue | mAmbientLight |
| | Current ambient light, cached for RenderSystem. More...
|
| RenderSystem * | mDestRenderSystem |
| | The rendering system to send the scene to. More...
|
| CameraList | mCameras |
| | Central list of cameras - for easy memory management and lookup. More...
|
| LightList | mLights |
| | Central list of lights - for easy memory management and lookup. More...
|
| EntityList | mEntities |
| | Central list of entities - for easy memory management and lookup. More...
|
| BillboardSetList | mBillboardSets |
| | Central list of billboard sets - for easy memory management and lookup. More...
|
| SceneNodeList | mSceneNodes |
| | Central list of SceneNodes - for easy memory management. More...
|
| Camera * | mCameraInProgress |
| | Camera in progress. More...
|
| SceneNode * | mSceneRoot |
| | Root scene node. More...
|
| Entity * | mSkyPlaneEntity |
| Entity * | mSkyDomeEntity [5] |
| Entity * | mSkyBoxEntity [6] |
| SceneNode * | mSkyPlaneNode |
| SceneNode * | mSkyDomeNode |
| SceneNode * | mSkyBoxNode |
| bool | mSkyPlaneEnabled |
| bool | mSkyPlaneDrawFirst |
| Plane | mSkyPlane |
| bool | mSkyBoxEnabled |
| bool | mSkyBoxDrawFirst |
| Quaternion | mSkyBoxOrientation |
| bool | mSkyDomeEnabled |
| bool | mSkyDomeDrawFirst |
| Quaternion | mSkyDomeOrientation |
| FogMode | mFogMode |
| ColourValue | mFogColour |
| Real | mFogStart |
| Real | mFogEnd |
| Real | mFogDensity |
| bool | mDisplayNodes |
| AnimationList | mAnimationsList |
| AnimationStateSet | mAnimationStates |
| bool | mCamChanged |
| | Controller flag for determining if we need to set view/proj matrices. More...
|
| RenderQueueListenerList | mRenderQueueListeners |
| bool | mShowBoundingBoxes |
| | Flag that indicates if all of the scene node's bounding boxes should be shown as a wireframe. More...
|