18 #ifndef _GAZEBO_RTSHADERSYSTEM_HH_
19 #define _GAZEBO_RTSHADERSYSTEM_HH_
25 #include "gazebo/gazebo_config.h"
35 class RTShaderSystemPrivate;
61 SSLM_NormalMapLightingObjectSpace
78 public:
void AddScene(
ScenePtr _scene);
82 public:
void RemoveScene(
ScenePtr _scene);
86 public:
void RemoveScene(
const std::string &_scene);
89 public:
void UpdateShaders();
94 public:
static void AttachViewport(Ogre::Viewport *_viewport,
100 public:
static void DetachViewport(Ogre::Viewport *_viewport,
105 public:
void SetPerPixelLighting(
bool _set);
109 public:
void GenerateShaders(
const VisualPtr &_vis);
113 public:
void ApplyShadows(
ScenePtr _scene);
117 public:
void RemoveShadows(
ScenePtr _scene);
121 public: Ogre::PSSMShadowCameraSetup *GetPSSMShadowCameraSetup()
const;
124 public:
void Update();
130 public:
bool SetShadowTextureSize(
const unsigned int _size);
134 public:
unsigned int ShadowTextureSize()
const;
140 private:
bool GetPaths(std::string &_coreLibsPath,
141 std::string &_cachePath);
145 private:
void UpdateShaders(
VisualPtr _vis);
152 private: RTShaderSystemPrivate *dataPtr;
Singleton template class.
Definition: SingletonT.hh:33
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:81
LightingModel
Definition: RTShaderSystem.hh:50
Per-Pixel lighting: best look.
Definition: RTShaderSystem.hh:55
Implements Ogre's Run-Time Shader system.
Definition: RTShaderSystem.hh:45
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:113
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Per-Vertex lighting: best performance.
Definition: RTShaderSystem.hh:53