18 #ifndef _GAZEBO_RTSHADERSYSTEM_HH_
19 #define _GAZEBO_RTSHADERSYSTEM_HH_
25 #include "gazebo/gazebo_config.h"
35 class RTShaderSystemPrivate;
45 class GZ_RENDERING_VISIBLE RTShaderSystem :
61 SSLM_NormalMapLightingObjectSpace
65 private: RTShaderSystem();
68 private:
virtual ~RTShaderSystem();
77 public:
void Clear() GAZEBO_DEPRECATED(7.0);
81 public:
void AddScene(
ScenePtr _scene);
85 public:
void RemoveScene(
ScenePtr _scene);
89 public:
void RemoveScene(const std::
string &_scene);
92 public:
void UpdateShaders();
98 public:
void AttachEntity(
Visual *vis) GAZEBO_DEPRECATED(7.0);
104 public:
void DetachEntity(
Visual *_vis) GAZEBO_DEPRECATED(7.0);
109 public: static
void AttachViewport(Ogre::Viewport *_viewport,
115 public: static
void DetachViewport(Ogre::Viewport *_viewport,
120 public:
void SetPerPixelLighting(
bool _set);
125 public:
void GenerateShaders(
Visual *_vis) GAZEBO_DEPRECATED(7.0);
129 public:
void GenerateShaders(const
VisualPtr &_vis);
133 public:
void ApplyShadows(
ScenePtr _scene);
137 public:
void RemoveShadows(
ScenePtr _scene);
141 public: Ogre::PSSMShadowCameraSetup *GetPSSMShadowCameraSetup() const;
144 public:
void Update();
150 private:
bool GetPaths(std::
string &_coreLibsPath,
151 std::
string &_cachePath);
155 private:
void UpdateShaders(
VisualPtr _vis);
162 private: RTShaderSystemPrivate *dataPtr;
Singleton template class.
Definition: SingletonT.hh:33
A renderable object.
Definition: Visual.hh:59
Normal Map lighting: lighting calculations have been stored in a light map (texture) using tangent sp...
Definition: RTShaderSystem.hh:58
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:80
LightingModel
Definition: RTShaderSystem.hh:50
Per-Pixel lighting: best look.
Definition: RTShaderSystem.hh:55
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:112
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Per-Vertex lighting: best performance.
Definition: RTShaderSystem.hh:53