18 #ifndef _GAZEBO_RTSHADERSYSTEM_HH_ 19 #define _GAZEBO_RTSHADERSYSTEM_HH_ 25 #include "gazebo/gazebo_config.h" 38 class RTShaderSystemPrivate;
64 SSLM_NormalMapLightingObjectSpace
81 public:
void AddScene(
ScenePtr _scene);
85 public:
void RemoveScene(
ScenePtr _scene);
89 public:
void RemoveScene(
const std::string &_scene);
92 public:
void UpdateShaders();
97 public:
static void AttachViewport(Ogre::Viewport *_viewport,
103 public:
static void DetachViewport(Ogre::Viewport *_viewport,
108 public:
void SetPerPixelLighting(
bool _set);
112 public:
void GenerateShaders(
const VisualPtr &_vis);
116 public:
void ApplyShadows(
ScenePtr _scene);
120 public:
void RemoveShadows(
ScenePtr _scene);
124 public: Ogre::PSSMShadowCameraSetup *GetPSSMShadowCameraSetup()
const;
127 public:
void Update();
133 public:
bool SetShadowTextureSize(
const unsigned int _size);
137 public:
unsigned int ShadowTextureSize()
const;
142 public:
void SetShadowClipDist(
const double _near,
const double _far);
146 public:
double ShadowNearClip()
const;
150 public:
double ShadowFarClip()
const;
155 public:
void SetShadowSplitLambda(
const double _lambda);
159 public:
double ShadowSplitLambda()
const;
163 public:
void SetShadowSplitPadding(
const double _padding);
167 public:
double ShadowSplitPadding()
const;
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;
Forward declarations for the common classes.
Definition: Animation.hh:26
rendering
Definition: RTShaderSystem.hh:32
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:61
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:82
LightingModel
Definition: RTShaderSystem.hh:53
Per-Pixel lighting: best look.
Definition: RTShaderSystem.hh:58
Implements Ogre's Run-Time Shader system.
Definition: RTShaderSystem.hh:48
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:114
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Per-Vertex lighting: best performance.
Definition: RTShaderSystem.hh:56
#define GZ_SINGLETON_DECLARE(visibility, n1, n2, singletonType)
Helper to declare typed SingletonT.
Definition: SingletonT.hh:61