Implements Ogre's Run-Time Shader system. More...
#include <rendering/rendering.hh>
Inherits SingletonT< RTShaderSystem >.
Public Types | |
| enum | LightingModel { SSLM_PerVertexLighting, SSLM_PerPixelLighting, SSLM_NormalMapLightingTangentSpace, SSLM_NormalMapLightingObjectSpace } |
Public Member Functions | |
| void | AddScene (ScenePtr _scene) |
| Add a scene manager. More... | |
| void | ApplyShadows (ScenePtr _scene) |
| Apply shadows to a scene. More... | |
| void | AttachEntity (Visual *vis) GAZEBO_DEPRECATED(7.0) |
| Set an Ogre::Entity to use RT shaders. More... | |
| void | Clear () GAZEBO_DEPRECATED(7.0) |
| Clear the shader system. More... | |
| void | DetachEntity (Visual *_vis) GAZEBO_DEPRECATED(7.0) |
| Remove and entity. More... | |
| void | Fini () |
| Finalize the shader system. More... | |
| void | GenerateShaders (Visual *_vis) GAZEBO_DEPRECATED(7.0) |
| Generate shaders for an entity. More... | |
| void | GenerateShaders (const VisualPtr &_vis) |
| Generate shaders for an entity. More... | |
| Ogre::PSSMShadowCameraSetup * | GetPSSMShadowCameraSetup () const |
| Get the Ogre PSSM Shadows camera setup. More... | |
| void | Init () |
| Init the run time shader system. More... | |
| void | RemoveScene (ScenePtr _scene) |
| Remove a scene. More... | |
| void | RemoveScene (const std::string &_scene) |
| Remove a scene. More... | |
| void | RemoveShadows (ScenePtr _scene) |
| Remove shadows from a scene. More... | |
| void | SetPerPixelLighting (bool _set) |
| Set the lighting model to per pixel or per vertex. More... | |
| void | Update () |
| Update the RT shaders. This should not be called frequently. More... | |
| void | UpdateShaders () |
| Queue a call to update the shaders. More... | |
Static Public Member Functions | |
| static void | AttachViewport (Ogre::Viewport *_viewport, ScenePtr _scene) |
| Set a viewport to use shaders. More... | |
| static void | DetachViewport (Ogre::Viewport *_viewport, ScenePtr _scene) |
| Set a viewport to not use shaders. More... | |
| static RTShaderSystem * | Instance () |
| Get an instance of the singleton. More... | |
Implements Ogre's Run-Time Shader system.
This class allows Gazebo to generate per-pixel shaders for every material at run-time.
| void AddScene | ( | ScenePtr | _scene | ) |
Add a scene manager.
| [in] | _scene | The scene to process |
| void ApplyShadows | ( | ScenePtr | _scene | ) |
Apply shadows to a scene.
| [in] | _scene | The scene to receive shadows. |
| void AttachEntity | ( | Visual * | vis | ) |
Set an Ogre::Entity to use RT shaders.
| [in] | _vis | Visual that will use the RTShaderSystem. |
|
static |
Set a viewport to use shaders.
| [in] | _viewport | The viewport to add. |
| [in] | _scene | The scene that the viewport uses. |
| void Clear | ( | ) |
Clear the shader system.
| void DetachEntity | ( | Visual * | _vis | ) |
Remove and entity.
| [in] | _vis | Remove this visual. |
|
static |
Set a viewport to not use shaders.
| [in] | _viewport | The viewport to remove. |
| [in] | _scene | The scene that the viewport uses. |
| void Fini | ( | ) |
Finalize the shader system.
| void GenerateShaders | ( | Visual * | _vis | ) |
Generate shaders for an entity.
| [in] | _vis | The visual to generate shaders for. |
| void GenerateShaders | ( | const VisualPtr & | _vis | ) |
Generate shaders for an entity.
| [in] | _vis | The visual to generate shaders for. |
| Ogre::PSSMShadowCameraSetup* GetPSSMShadowCameraSetup | ( | ) | const |
| void Init | ( | ) |
Init the run time shader system.
|
inlinestaticinherited |
Get an instance of the singleton.
| void RemoveScene | ( | ScenePtr | _scene | ) |
Remove a scene.
| [in] | The | scene to remove |
| void RemoveScene | ( | const std::string & | _scene | ) |
Remove a scene.
| [in] | Name | of the scene to remove. |
| void RemoveShadows | ( | ScenePtr | _scene | ) |
Remove shadows from a scene.
| [in] | _scene | The scene to remove shadows from. |
| void SetPerPixelLighting | ( | bool | _set | ) |
Set the lighting model to per pixel or per vertex.
| [in] | _set | True means to use per-pixel shaders. |
| void Update | ( | ) |
Update the RT shaders. This should not be called frequently.
| void UpdateShaders | ( | ) |
Queue a call to update the shaders.