Go to the documentation of this file.
17 #ifndef GZ_RENDERING_OGRE2_OGRE2LIGHT_HH_
18 #define GZ_RENDERING_OGRE2_OGRE2LIGHT_HH_
26 #pragma warning(push, 0)
28 #include <OgreLight.h>
42 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
45 class Ogre2LightPrivate;
58 public:
virtual math::Color DiffuseColor()
const override;
61 public:
virtual void SetDiffuseColor(
const math::Color &_color)
override;
64 public:
virtual math::Color SpecularColor()
const override;
67 public:
virtual void SetSpecularColor(
const math::Color &_color)
override;
70 public:
virtual double AttenuationConstant()
const override;
73 public:
virtual void SetAttenuationConstant(
double _value)
override;
76 public:
virtual double AttenuationLinear()
const override;
79 public:
virtual void SetAttenuationLinear(
double _value)
override;
82 public:
virtual double AttenuationQuadratic()
const override;
85 public:
virtual void SetAttenuationQuadratic(
double _value)
override;
88 public:
virtual double AttenuationRange()
const override;
91 public:
virtual void SetAttenuationRange(
double _range)
override;
94 public:
virtual bool CastShadows()
const override;
97 public:
virtual void SetCastShadows(
bool _castShadows)
override;
100 public:
virtual double Intensity()
const override;
103 public:
virtual void SetIntensity(
double _intensity)
override;
106 public:
virtual Ogre::Light *
Light()
const;
109 public:
virtual void Destroy()
override;
112 protected:
virtual void Init()
override;
115 private:
void CreateLight();
118 private:
void UpdateAttenuation();
121 protected:
double attenConstant = 1.0;
124 protected:
double attenLinear = 0.0;
127 protected:
double attenQuadratic = 0.0;
130 protected:
double attenRange = 100.0;
133 protected: Ogre::Light *ogreLight =
nullptr;
156 public:
virtual void SetDirection(
const math::Vector3d &_dir)
override;
190 public:
virtual void SetDirection(
const math::Vector3d &_dir)
override;
193 public:
virtual math::Angle InnerAngle()
const override;
196 public:
virtual void SetInnerAngle(
const math::Angle &_angle)
override;
199 public:
virtual math::Angle OuterAngle()
const override;
202 public:
virtual void SetOuterAngle(
const math::Angle &_angle)
override;
205 public:
virtual double Falloff()
const override;
208 public:
virtual void SetFalloff(
double _falloff)
override;
Ogre 2.x implementation of the light class.
Definition: gz/rendering/ogre2/Ogre2Light.hh:48
Definition: gz/rendering/base/BaseLight.hh:97
Definition: gz/rendering/ogre/OgreCamera.hh:27
Definition: gz/rendering/base/BaseLight.hh:71
Definition: gz/rendering/base/BaseLight.hh:87
Ogre 2.x implementation of the spot light class.
Definition: gz/rendering/ogre2/Ogre2Light.hh:177
Ogre 2.x implementation of the point light class.
Definition: gz/rendering/ogre2/Ogre2Light.hh:163
Definition: gz/rendering/base/BaseLight.hh:29
Ogre2.x implementation of the scene class.
Definition: gz/rendering/ogre2/Ogre2Scene.hh:57
Ogre 2.x implementation of the directional light class.
Definition: gz/rendering/ogre2/Ogre2Light.hh:143
Represents a light source in the scene graph.
Definition: gz/rendering/Light.hh:32
Ogre::Light::LightTypes ogreLightType
Light type.
Definition: gz/rendering/ogre2/Ogre2Light.hh:136