Go to the documentation of this file.
18 #ifndef _GAZEBO_RTSHADERSYSTEM_HH_
19 #define _GAZEBO_RTSHADERSYSTEM_HH_
25 #include "gazebo/gazebo_config.h"
38 class RTShaderSystemPrivate;
64 SSLM_NormalMapLightingObjectSpace
173 private:
bool GetPaths(std::string &_coreLibsPath,
174 std::string &_cachePath);
178 private:
void UpdateShaders(
VisualPtr _vis);
181 private:
void ReapplyShadows();
188 private: RTShaderSystemPrivate *dataPtr;
void RemoveScene(const std::string &_scene)
Remove a scene.
void SetPerPixelLighting(bool _set)
Set the lighting model to per pixel or per vertex.
@ SSLM_PerPixelLighting
Per-Pixel lighting: best look.
Definition: RTShaderSystem.hh:58
void UpdateShaders()
Queue a call to update the shaders.
Forward declarations for the common classes.
Definition: Animation.hh:27
Singleton template class.
Definition: SingletonT.hh:34
void Init()
Init the run time shader system.
unsigned int ShadowTextureSize() const
Get the shadow texture size.
static void AttachViewport(Ogre::Viewport *_viewport, ScenePtr _scene)
Set a viewport to use shaders.
@ SSLM_PerVertexLighting
Per-Vertex lighting: best performance.
Definition: RTShaderSystem.hh:56
LightingModel
Definition: RTShaderSystem.hh:54
void ApplyShadows(ScenePtr _scene)
Apply shadows to a scene.
void GenerateShaders(const VisualPtr &_vis)
Generate shaders for an entity.
void SetShadowClipDist(const double _near, const double _far)
Set the shadow clip distances.
double ShadowSplitPadding() const
Get the PSSM split point overlap.
double ShadowFarClip() const
Get the shadow far clip distance.
Implements Ogre's Run-Time Shader system.
Definition: RTShaderSystem.hh:50
gazebo
Definition: RTShaderSystem.hh:32
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:82
double ShadowNearClip() const
Get the shadow near clip distance.
double ShadowSplitLambda() const
Get the PSSM split point lambda value.
void Fini()
Finalize the shader system.
static void DetachViewport(Ogre::Viewport *_viewport, ScenePtr _scene)
Set a viewport to not use shaders.
void SetShadowSplitPadding(const double _padding)
Set the overlap between PSSM shadow maps.
void Update()
Update the RT shaders. This should not be called frequently.
void RemoveScene(ScenePtr _scene)
Remove a scene.
bool SetShadowTextureSize(const unsigned int _size)
Set the shadow texture size.
void SetShadowSplitLambda(const double _lambda)
Set the PSSM lambda value for determining how linear or logarithmic choice of split points will be.
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:114
rendering
Definition: RTShaderSystem.hh:32
void RemoveShadows(ScenePtr _scene)
Remove shadows from a scene.
#define GZ_SINGLETON_DECLARE(visibility, n1, n2, singletonType)
Helper to declare typed SingletonT.
Definition: SingletonT.hh:61
Ogre::PSSMShadowCameraSetup * GetPSSMShadowCameraSetup() const
Get the Ogre PSSM Shadows camera setup.
void AddScene(ScenePtr _scene)
Add a scene manager.
@ SSLM_NormalMapLightingTangentSpace
Normal Map lighting: lighting calculations have been stored in a light map (texture) using tangent sp...
Definition: RTShaderSystem.hh:61