3#include <Engine/RaEngine.hpp>
4#include <Engine/Scene/Light.hpp>
20 void setPosition(
const Eigen::Matrix<Scalar, 3, 1>& pos )
override;
21 inline const Eigen::Matrix<Scalar, 3, 1>& getPosition()
const;
23 inline void setAttenuation(
const Attenuation& attenuation );
24 inline void setAttenuation( Scalar constant, Scalar linear, Scalar quadratic );
30 Eigen::Matrix<Scalar, 3, 1> m_position { 0, 0, 0 };
43inline const Eigen::Matrix<Scalar, 3, 1>& PointLight::getPosition()
const {
47inline void PointLight::setAttenuation(
const PointLight::Attenuation& attenuation ) {
48 m_attenuation = attenuation;
52 m_attenuation.quadratic );
55inline void PointLight::setAttenuation( Scalar constant, Scalar linear, Scalar quadratic ) {
56 setAttenuation( { constant, linear, quadratic } );
59inline const PointLight::Attenuation& PointLight::getAttenuation()
const {
void setVariable(const std::string &name, RenderParameters &rp)
overload create ref wrapper for RenderParameters variable
An entity is an scene element. It ties together components with a transform.
const Data::RenderParameters & getRenderParameters() const
Gives read-only access to the renderParameters of the light.
void setPosition(const Eigen::Matrix< Scalar, 3, 1 > &pos) override
hepler function to manage enum as underlying types in VariableSet