22 #ifndef _RTSHADERSYSTEM_HH_
23 #define _RTSHADERSYSTEM_HH_
30 #include "gazebo/gazebo_config.h"
67 SSLM_NormalMapLightingObjectSpace
87 public:
void AddScene(
ScenePtr _scene);
91 public:
void RemoveScene(
ScenePtr _scene);
95 public:
void RemoveScene(
const std::string &_scene);
98 public:
void UpdateShaders();
102 public:
void AttachEntity(
Visual *vis);
106 public:
void DetachEntity(
Visual *_vis);
111 public:
static void AttachViewport(Ogre::Viewport *_viewport,
117 public:
static void DetachViewport(Ogre::Viewport *_viewport,
122 public:
void SetPerPixelLighting(
bool _set);
126 public:
void GenerateShaders(
Visual *_vis);
130 public:
void ApplyShadows(
ScenePtr _scene);
134 public:
void RemoveShadows(
ScenePtr _scene);
138 public: Ogre::PSSMShadowCameraSetup *GetPSSMShadowCameraSetup()
const;
144 private:
bool GetPaths(std::string &_coreLibsPath,
145 std::string &_cachePath);
147 #if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 7
148 private: Ogre::RTShader::ShaderGenerator *shaderGenerator;
152 private: Ogre::RTShader::SubRenderState *shadowRenderState;
156 private: std::list<Visual*> entities;
159 private:
bool initialized;
162 private:
bool shadowsApplied;
165 private: std::vector<ScenePtr> scenes;
168 private: boost::mutex *entityMutex;
171 private: Ogre::ShadowCameraSetupPtr pssmSetup;
Singleton template class.
Definition: SingletonT.hh:33
Per-Vertex lighting: best performance.
Definition: RTShaderSystem.hh:59
LightingModel
Definition: RTShaderSystem.hh:56
Normal Map lighting: lighting calculations have been stored in a light map (texture) using tangent sp...
Definition: RTShaderSystem.hh:64
A renderable object.
Definition: Visual.hh:58
#define GZ_RENDERING_VISIBLE
Definition: system.hh:241
Implements Ogre's Run-Time Shader system.
Definition: RTShaderSystem.hh:51
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:79
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Per-Pixel lighting: best look.
Definition: RTShaderSystem.hh:61