247 if (ambientLightMax > Math::EPSILON)
return 0.0f;
249 if (diffuseLightMax < Math::EPSILON)
return 0.0f;
326 void update(
int contextIdx);
334 lightRotationXQuaternion.
rotate(
Vector3(0.0f, 0.0f, 1.0f), (1.0f - t) * 360.0f);
335 auto lightPosition = lightRotationXQuaternion *
Vector3(1000000.0f, 0.0f, 1.0f);
336 setPosition(
Vector4(lightPosition.getX(), lightPosition.getY(), lightPosition.getZ(), 0.0f));
346 lightRotationXQuaternion.
rotate(
Vector3(0.0f, 0.0f, 1.0f), (1.0f - t) * 360.0f);
347 auto lightPosition = lightRotationXQuaternion *
Vector3(-1000000.0f, 0.0f, 1.0f);
348 setPosition(
Vector4(lightPosition.getX(), lightPosition.getY(), lightPosition.getZ(), 0.0f));
Color 4 definition class.
float getQuadraticAttenuation() const
float getSpotExponent() const
void setEnabled(bool enabled)
Set enabled.
void setSpecular(const Color4 &specular)
Set specular light component.
void setConstantAttenuation(float constantAttenuation)
Set up constant attenuation.
void setLightSourceSize(float sourceSize)
Set light source size (moon, sun)
void setSpotDirection(const Vector3 &spotDirection)
Set spot direction.
const Color4 & getSpecular() const
const Vector3 & getSpotDirection() const
float getSpotCutOff() const
void setAmbient(const Color4 &ambient)
Set ambient light component.
Light()
Public default constructor.
float getLinearAttenuation() const
bool isDirectional() const
Returns if light is directional light like sun, moon lights.
Texture * getSourceTexture() const
Returns light source texture.
void setQuadraticAttenuation(float quadraticAttenuation)
Set up quadratic attenuation.
void setSpotCutOff(float spotCutOff)
Set spot cut off.
float constantAttenuation
void update(int contextIdx)
Update light.
float quadraticAttenuation
const Color4 & getAmbient() const
void setPosition(const Vector4 &position)
Set light position.
void setRenderSource(bool renderSource)
Set rendering light source enabled/disabled.
const Vector4 & getPosition() const
void setSourceTexture(Texture *texture)
Returns light source texture.
int32_t getSourceTextureId() const
Returns light source texture id.
void setDiffuse(const Color4 &diffuse)
Set diffuse light component.
float getSourceSize() const
Returns light source size.
void setupSun(float t)
Set up sun.
int32_t lightSourceTextureId
void setLinearAttenuation(float linearAttenuation)
Set up linear attenuation.
bool isRenderSource() const
Returns if rendering light source is enabled.
void setSpotExponent(float spotExponent)
Set up spot exponent.
float getConstantAttenuation() const
void setupMoon(float t)
Set up moon.
Texture * lightSourceTexture
const Color4 & getDiffuse() const
Quaternion class representing quaternion mathematical structure and operations with x,...
Quaternion & rotate(const Vector3 &axis, float angle)
Creates rotation quaternion.
Vector3 class representing vector3 mathematical structure and operations with x, y,...
Vector4 class representing vector4 mathematical structure and operations with x, y,...
#define FORBID_CLASS_COPY(CLASS)