All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gazebo::rendering::DeferredLight Class Reference

Deferred light geometry. More...

#include <DeferredLight.hh>

Inheritance diagram for gazebo::rendering::DeferredLight:
Inheritance graph
[legend]
Collaboration diagram for gazebo::rendering::DeferredLight:
Collaboration graph
[legend]

Public Member Functions

 DeferredLight (MaterialGenerator *_gen, Ogre::Light *_parentLight, Ogre::MaterialPtr _vplMaterial)
 Constructor. More...
 
 ~DeferredLight ()
 Destructor. More...
 
virtual Ogre::Real getBoundingRadius (void) const
 
virtual bool getCastShadows () const
 Does this light cast shadows? More...
 
virtual const Ogre::MaterialPtr & getMaterial (void) const
 
Ogre::Light * GetParentLight ()
 
virtual Ogre::Real getSquaredViewDepth (const Ogre::Camera *) const
 
virtual void getWorldTransforms (Ogre::Matrix4 *_xform) const
 
void RenderVPLs (Ogre::SceneManager *_sm, Ogre::InstanceManager *_im)
 
void SetVPLCount (uint32_t _n, Ogre::SceneManager *_sm, Ogre::InstanceManager *_im)
 
void UpdateFromCamera (Ogre::Camera *_camera)
 Update the information that is related to the camera More...
 
void UpdateFromParent ()
 Update the information from the light that matches this one. More...
 
virtual void UpdateRSM (const Ogre::TexturePtr &_shadowTex)
 
virtual void UpdateShadowInvProj (Ogre::Matrix4 &_invproj)
 

Protected Member Functions

void CreateCone (float _radius, float _height, int _nVerticesInBase)
 Create a cone. More...
 
void CreateRectangle2D ()
 Create a rectangle. More...
 
void CreateSphere (float _radius, int _nRings, int _nSegments)
 Create a sphere geometry. More...
 
bool IsCameraInsideLight (Ogre::Camera *_camera)
 Check if the camera is inside a light. More...
 
void RebuildGeometry (float _radius)
 Create geometry for this light. More...
 
void SetAttenuation (float _c, float _b, float _a)
 Set constant, linear, quadratic Attenuation terms. More...
 
void SetSpecularColor (const Ogre::ColourValue &_col)
 Set the specular colour. More...
 

Protected Attributes

MaterialGeneratorgenerator
 Deferred shading system this minilight is part of. More...
 
bool ignoreWorld
 Mode to ignore world orientation/position. More...
 
Ogre::Light * parentLight
 The light that this DLight renders. More...
 
unsigned int permutation
 Material permutation. More...
 
float radius
 Bounding sphere radius. More...
 
Ogre::MaterialPtr VPLMaterial
 

Detailed Description

Deferred light geometry.

Each instance matches a normal light. Should not be created by the user. XXX support other types of light other than point lights.

Constructor & Destructor Documentation

gazebo::rendering::DeferredLight::DeferredLight ( MaterialGenerator _gen,
Ogre::Light *  _parentLight,
Ogre::MaterialPtr  _vplMaterial 
)

Constructor.

gazebo::rendering::DeferredLight::~DeferredLight ( )

Destructor.

Member Function Documentation

void gazebo::rendering::DeferredLight::CreateCone ( float  _radius,
float  _height,
int  _nVerticesInBase 
)
protected

Create a cone.

void gazebo::rendering::DeferredLight::CreateRectangle2D ( )
protected

Create a rectangle.

void gazebo::rendering::DeferredLight::CreateSphere ( float  _radius,
int  _nRings,
int  _nSegments 
)
protected

Create a sphere geometry.

virtual Ogre::Real gazebo::rendering::DeferredLight::getBoundingRadius ( void  ) const
virtual

virtual bool gazebo::rendering::DeferredLight::getCastShadows ( ) const
virtual
virtual const Ogre::MaterialPtr& gazebo::rendering::DeferredLight::getMaterial ( void  ) const
virtual
Ogre::Light* gazebo::rendering::DeferredLight::GetParentLight ( )
inline
virtual Ogre::Real gazebo::rendering::DeferredLight::getSquaredViewDepth ( const Ogre::Camera *  ) const
virtual

virtual void gazebo::rendering::DeferredLight::getWorldTransforms ( Ogre::Matrix4 *  _xform) const
virtual

bool gazebo::rendering::DeferredLight::IsCameraInsideLight ( Ogre::Camera *  _camera)
protected

Check if the camera is inside a light.

void gazebo::rendering::DeferredLight::RebuildGeometry ( float  _radius)
protected

Create geometry for this light.

void gazebo::rendering::DeferredLight::RenderVPLs ( Ogre::SceneManager *  _sm,
Ogre::InstanceManager *  _im 
)
void gazebo::rendering::DeferredLight::SetAttenuation ( float  _c,
float  _b,
float  _a 
)
protected

Set constant, linear, quadratic Attenuation terms.

void gazebo::rendering::DeferredLight::SetSpecularColor ( const Ogre::ColourValue &  _col)
protected

Set the specular colour.

void gazebo::rendering::DeferredLight::SetVPLCount ( uint32_t  _n,
Ogre::SceneManager *  _sm,
Ogre::InstanceManager *  _im 
)
void gazebo::rendering::DeferredLight::UpdateFromCamera ( Ogre::Camera *  _camera)

Update the information that is related to the camera

Referenced by gazebo::rendering::DeferredLightRenderOperation< techniquePolicy >::execute().

void gazebo::rendering::DeferredLight::UpdateFromParent ( )

Update the information from the light that matches this one.

Referenced by gazebo::rendering::DeferredLightRenderOperation< techniquePolicy >::execute().

virtual void gazebo::rendering::DeferredLight::UpdateRSM ( const Ogre::TexturePtr &  _shadowTex)
virtual
virtual void gazebo::rendering::DeferredLight::UpdateShadowInvProj ( Ogre::Matrix4 &  _invproj)
virtual

Member Data Documentation

MaterialGenerator* gazebo::rendering::DeferredLight::generator
protected

Deferred shading system this minilight is part of.

bool gazebo::rendering::DeferredLight::ignoreWorld
protected

Mode to ignore world orientation/position.

Ogre::Light* gazebo::rendering::DeferredLight::parentLight
protected

The light that this DLight renders.

unsigned int gazebo::rendering::DeferredLight::permutation
protected

Material permutation.

float gazebo::rendering::DeferredLight::radius
protected

Bounding sphere radius.

Ogre::MaterialPtr gazebo::rendering::DeferredLight::VPLMaterial
protected

The documentation for this class was generated from the following file: