17 #ifndef _DEFERREDLIGHT_HH_
18 #define _DEFERREDLIGHT_HH_
20 #include <OgreSimpleRenderable.h>
21 #include <OgreInstancedEntity.h>
22 #include <OgreTechnique.h>
38 Ogre::MaterialPtr _vplMaterial);
44 public:
void UpdateFromParent();
47 public:
void UpdateFromCamera(Ogre::Camera *_camera);
50 public:
virtual bool getCastShadows()
const;
53 public:
virtual Ogre::Real getBoundingRadius(
void)
const;
56 public:
virtual Ogre::Real getSquaredViewDepth(
const Ogre::Camera*)
const;
59 public:
virtual const Ogre::MaterialPtr &getMaterial(
void)
const;
62 public:
virtual void getWorldTransforms(Ogre::Matrix4 *_xform)
const;
64 public:
virtual void UpdateRSM(
const Ogre::TexturePtr &_shadowTex);
65 public:
virtual void UpdateShadowInvProj(Ogre::Matrix4 &_invproj);
68 public:
void SetVPLCount(uint32_t _n, Ogre::SceneManager *_sm,
69 Ogre::InstanceManager *_im);
71 public:
void RenderVPLs(Ogre::SceneManager *_sm,
72 Ogre::InstanceManager *_im);
75 protected:
bool IsCameraInsideLight(Ogre::Camera *_camera);
78 protected:
void RebuildGeometry(
float _radius);
81 protected:
void CreateSphere(
float _radius,
int _nRings,
int _nSegments);
84 protected:
void CreateRectangle2D();
87 protected:
void CreateCone(
float _radius,
float _height,
88 int _nVerticesInBase);
91 protected:
void SetAttenuation(
float _c,
float _b,
float _a);
94 protected:
void SetSpecularColor(
const Ogre::ColourValue &_col);
Ogre::MaterialPtr VPLMaterial
Definition: DeferredLight.hh:111
float radius
Bounding sphere radius.
Definition: DeferredLight.hh:103
Ogre::Light * GetParentLight()
Definition: DeferredLight.hh:66
bool ignoreWorld
Mode to ignore world orientation/position.
Definition: DeferredLight.hh:100
Ogre::Light * parentLight
The light that this DLight renders.
Definition: DeferredLight.hh:97
Deferred light geometry.
Definition: DeferredLight.hh:34
unsigned int permutation
Material permutation.
Definition: DeferredLight.hh:109
MaterialGenerator * generator
Deferred shading system this minilight is part of.
Definition: DeferredLight.hh:106
Caching, on-the-fly material generator.
Definition: MaterialGenerator.hh:39
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48