18#ifndef GAZEBO_RENDERING_CUSTOMPSSMSHADOWCAMERASETUP_HH_
19#define GAZEBO_RENDERING_CUSTOMPSSMSHADOWCAMERASETUP_HH_
37 public:
virtual const Ogre::String &
getType()
const override;
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;
61 Ogre::ScriptCompiler *_compiler,
62 Ogre::PropertyAbstractNode *_prop,
64 Ogre::RTShader::SGScriptTranslator *_translator)
override;
90 :
public Ogre::PSSMShadowCameraSetup
101 const Ogre::Camera &_cam,
const Ogre::Light &_light,
102 Ogre::Matrix4 *_out_view, Ogre::Matrix4 *_outProj,
103 Ogre::Camera *_outCam)
const;
109 const Ogre::Vector3 &_dir,
const Ogre::Vector3 & _up)
const;
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;
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
156 public:
virtual Ogre::RTShader::ProgramWriter*
create()
override;
rendering
Definition RenderEngine.hh:31
A factory to create our own CustomGLSLProgramWriter.
Definition CustomPSSMShadowCameraSetup.hh:143
CustomGLSLProgramWriterFactory()
Constructor.
virtual Ogre::RTShader::ProgramWriter * create() override
Creates the GLSLProgramWriter.
~CustomGLSLProgramWriterFactory()=default
Destructor.
const Ogre::String & getTargetLanguage() const override
Get shader language supported by this factory.
This overrides ogre's default GLSLProgramWriter to fix a bug in ogre versions <= 1....
Definition CustomPSSMShadowCameraSetup.hh:132
~CustomGLSLProgramWriter()=default
Destructor.
CustomGLSLProgramWriter()
Constructor.
A factory that enables creation of CustomPSSM3 instances.
Definition CustomPSSMShadowCameraSetup.hh:55
virtual Ogre::RTShader::SubRenderState * createInstanceImpl() override
virtual const Ogre::String & getType() const override
virtual Ogre::RTShader::SubRenderState * createInstance(Ogre::ScriptCompiler *_compiler, Ogre::PropertyAbstractNode *_prop, Ogre::Pass *_pass, Ogre::RTShader::SGScriptTranslator *_translator) override
Custom PSSM shadow receiver that overrides one deficient method in IntegratedPSSM3.
Definition CustomPSSMShadowCameraSetup.hh:32
static Ogre::String Type
Type of sub render state.
Definition CustomPSSMShadowCameraSetup.hh:48
virtual const Ogre::String & getType() const override
virtual bool resolveParameters(Ogre::RTShader::ProgramSet *_programSet) override
This is a duplicate of the method from the parent class with one line changed to use sampler2DShadow,...
CustomPSSM3()
Constructor.
Definition CustomPSSMShadowCameraSetup.hh:34
Parallel Split Shadow Map (PSSM) shadow camera setup.
Definition CustomPSSMShadowCameraSetup.hh:91
virtual void getZUpFocusedShadowCamera(const Ogre::SceneManager *_sm, const Ogre::Camera *_cam, const Ogre::Viewport *_vp, const Ogre::Light *_light, Ogre::Camera *_texCam, size_t _iteration) const
The same as FocusedShadowCameraSetup::ShadowCameraSetup() except resulting light frusta are z-up inst...
virtual void getShadowCamera(const Ogre::SceneManager *_sm, const Ogre::Camera *_cam, const Ogre::Viewport *_vp, const Ogre::Light *_light, Ogre::Camera *_texCam, size_t _iteration) const override
Returns a shadow camera with PSSM splits based on iteration.
void calculateShadowMappingMatrix(const Ogre::SceneManager &_sm, const Ogre::Camera &_cam, const Ogre::Light &_light, Ogre::Matrix4 *_out_view, Ogre::Matrix4 *_outProj, Ogre::Camera *_outCam) const
lightly modified FocusedShadowCameraSetup::calculateShadowMappingMatrix().
~CustomPSSMShadowCameraSetup()
Destructor.
Ogre::Matrix4 buildViewMatrix(const Ogre::Vector3 &_pos, const Ogre::Vector3 &_dir, const Ogre::Vector3 &_up) const
The same as FocusedShadowCameraSetup::buildViewMatrix() except resulting matrices are z-up instead of...
CustomPSSMShadowCameraSetup()
Constructor, defaults to 3 splits.
Forward declarations for the common classes.
Definition Animation.hh:27
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition system.hh:59