17 #ifndef IGNITION_RENDERING_OGRE2_OGRE2LIGHT_HH_ 18 #define IGNITION_RENDERING_OGRE2_OGRE2LIGHT_HH_ 35 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
38 class Ogre2LightPrivate;
51 public:
virtual math::Color DiffuseColor()
const override;
54 public:
virtual void SetDiffuseColor(
const math::Color &_color)
override;
57 public:
virtual math::Color SpecularColor()
const override;
60 public:
virtual void SetSpecularColor(
const math::Color &_color)
override;
63 public:
virtual double AttenuationConstant()
const override;
66 public:
virtual void SetAttenuationConstant(
double _value)
override;
69 public:
virtual double AttenuationLinear()
const override;
72 public:
virtual void SetAttenuationLinear(
double _value)
override;
75 public:
virtual double AttenuationQuadratic()
const override;
78 public:
virtual void SetAttenuationQuadratic(
double _value)
override;
81 public:
virtual double AttenuationRange()
const override;
84 public:
virtual void SetAttenuationRange(
double _range)
override;
87 public:
virtual bool CastShadows()
const override;
90 public:
virtual void SetCastShadows(
bool _castShadows)
override;
93 public:
virtual Ogre::Light *
Light()
const;
96 public:
virtual void Destroy()
override;
99 protected:
virtual void Init()
override;
102 private:
void CreateLight();
105 private:
void UpdateAttenuation();
108 protected:
double attenConstant = 1.0;
111 protected:
double attenLinear = 0.0;
114 protected:
double attenQuadratic = 0.0;
117 protected:
double attenRange = 100.0;
120 protected: Ogre::Light *ogreLight =
nullptr;
143 public:
virtual void SetDirection(
const math::Vector3d &_dir)
override;
177 public:
virtual void SetDirection(
const math::Vector3d &_dir)
override;
180 public:
virtual math::Angle InnerAngle()
const override;
183 public:
virtual void SetInnerAngle(
const math::Angle &_angle)
override;
186 public:
virtual math::Angle OuterAngle()
const override;
189 public:
virtual void SetOuterAngle(
const math::Angle &_angle)
override;
192 public:
virtual double Falloff()
const override;
195 public:
virtual void SetFalloff(
double _falloff)
override;
Definition: BaseLight.hh:29
Ogre 2.x implementation of the point light class.
Definition: Ogre2Light.hh:150
Definition: BaseLight.hh:77
Ogre2.x implementation of the scene class.
Definition: Ogre2Scene.hh:45
Ogre 2.x implementation of the spot light class.
Definition: Ogre2Light.hh:164
Definition: BaseLight.hh:87
Ogre 2.x implementation of the directional light class.
Definition: Ogre2Light.hh:130
Represents a light source in the scene graph.
Definition: Light.hh:32
Definition: OgreCamera.hh:27
Definition: BaseLight.hh:61
Ogre 2.x implementation of the light class.
Definition: Ogre2Light.hh:41
Ogre::Light::LightTypes ogreLightType
Light type.
Definition: Ogre2Light.hh:123