25 #ifndef __I6ENGINE_API_LUMINOUSAPPEARANCECOMPONENT_H_
26 #define __I6ENGINE_API_LUMINOUSAPPEARANCECOMPONENT_H_
76 void setLightType(
const LightType lightType);
94 void setDiffuseColor(
const Vec3 & diffuseColor);
112 void setSpecularColor(
const Vec3 & specular);
130 void setAttenuation(
const Vec4 & attenuation);
148 void setDirection(
const Vec3 & direction);
162 void setSpotLightInnerRange(
double angle);
167 void setSpotLightOuterRange(
double angle);
175 return "LuminousAppearance";
178 virtual std::vector<componentOptions> getComponentOptions()
override;
227 virtual void Init()
override;
228 virtual void Finalize()
override;
231 std::pair<AddStrategy, int64_t> howToAdd(
const ComPtr & comp)
const override;
238 void sendUpdateMessage();
Implements 4-dimensional vectors.
Vec4 getAttenuation() const
Gets attenuation.
Tells the engine that this GameObject is emitting light. For creating a LuminousAppearanceComponent, these keys are possible: Name Required Type Description Public lightType yes int one of the LightTypes yes diffuseColor yes Vec3 diffuse colour of the light yes specularColor yes Vec3 specular colour of the light yes attenuation yes Vec4 attenuation of the light, W = range (range in world units), X = constant (1.0 never attenuate, 0.0 complete attenuation), Y = linear (linear attenuation depending on distance), Z = quadratic factor yes pos no Vec3 relative position to SceneNode yes direction *) Vec3 direction of the light shaft, *) required if lightType is DIRECTIONAL or SPOT yes spotLightRangeInner *) double range of the inner cone of a spot light in degree, *) required if lightType is SPOT yes spotLightRangeOuter *) double range of the outer cone of a spot light in degree, *) required if lightType is SPOT yes
#define ISIXE_MODULES_API
std::map< std::string, std::string > attributeMap
Implements 3-dimensional vectors.
double _spotlightRangeOuter
virtual std::string getTemplateName() const override
returns the name this template was registered with
A shared pointer counting references and adds objects being not referenced any more to an internal li...
double _spotlightRangeInner
Vec3 getDirection() const
Gets direction.
Vec3 getSpecularColor() const
Gets specular colour.
LightType getLightType() const
Gets component's light type.
Vec3 getDiffuseColor() const
Gets diffuse colour.
Component Base Class. All Components must derive from Component.
LightType
type of the light emitted