18 #ifndef GAZEBO_RENDERING_CUSTOMPSSMSHADOWCAMERASETUP_HH_
19 #define GAZEBO_RENDERING_CUSTOMPSSMSHADOWCAMERASETUP_HH_
37 public:
virtual const Ogre::String &getType()
const override;
44 protected:
virtual bool resolveParameters(
45 Ogre::RTShader::ProgramSet *_programSet)
override;
48 public:
static Ogre::String
Type;
54 public Ogre::RTShader::SubRenderStateFactory
57 public:
virtual const Ogre::String &getType()
const override;
60 public:
virtual Ogre::RTShader::SubRenderState *createInstance(
61 Ogre::ScriptCompiler *_compiler,
62 Ogre::PropertyAbstractNode *_prop,
64 Ogre::RTShader::SGScriptTranslator *_translator)
override;
67 protected:
virtual Ogre::RTShader::SubRenderState *createInstanceImpl()
90 :
public Ogre::PSSMShadowCameraSetup
100 void calculateShadowMappingMatrix(
const Ogre::SceneManager &_sm,
101 const Ogre::Camera &_cam,
const Ogre::Light &_light,
102 Ogre::Matrix4 *_out_view, Ogre::Matrix4 *_outProj,
103 Ogre::Camera *_outCam)
const;
108 public: Ogre::Matrix4 buildViewMatrix(
const Ogre::Vector3 &_pos,
109 const Ogre::Vector3 &_dir,
const Ogre::Vector3 & _up)
const;
114 public:
virtual void getZUpFocusedShadowCamera(
115 const Ogre::SceneManager *_sm,
const Ogre::Camera *_cam,
116 const Ogre::Viewport *_vp,
const Ogre::Light *_light,
117 Ogre::Camera *_texCam,
size_t _iteration)
const;
121 public:
virtual void getShadowCamera(
const Ogre::SceneManager *_sm,
122 const Ogre::Camera *_cam,
const Ogre::Viewport *_vp,
123 const Ogre::Light *_light, Ogre::Camera *_texCam,
size_t _iteration)
131 public Ogre::RTShader::GLSLProgramWriter
142 public Ogre::RTShader::ProgramWriterFactory
152 public:
const Ogre::String &getTargetLanguage()
const override;
156 public:
virtual Ogre::RTShader::ProgramWriter* create()
override;
Custom PSSM shadow receiver that overrides one deficient method in IntegratedPSSM3.
Definition: CustomPSSMShadowCameraSetup.hh:31
CustomPSSM3()
Constructor.
Definition: CustomPSSMShadowCameraSetup.hh:34
This overrides ogre's default GLSLProgramWriter to fix a bug in ogre versions <= 1.8 where 'sampler2DShadow' sampler type is missing.
Definition: CustomPSSMShadowCameraSetup.hh:130
A factory that enables creation of CustomPSSM3 instances.
Definition: CustomPSSMShadowCameraSetup.hh:53
static Ogre::String Type
Type of sub render state.
Definition: CustomPSSMShadowCameraSetup.hh:48
Parallel Split Shadow Map (PSSM) shadow camera setup.
Definition: CustomPSSMShadowCameraSetup.hh:89
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:59
A factory to create our own CustomGLSLProgramWriter.
Definition: CustomPSSMShadowCameraSetup.hh:141