3#include <Core/CoreMacros.hpp>
5#include <Engine/Data/RenderParameters.hpp>
6#include <Engine/RaEngine.hpp>
7#include <Engine/Scene/Light.hpp>
25 void setPosition(
const Eigen::Matrix<Scalar, 3, 1>& pos )
override;
26 inline const Eigen::Matrix<Scalar, 3, 1>& getPosition()
const;
28 inline void setAttenuation(
const Attenuation& attenuation );
29 inline void setAttenuation( Scalar constant, Scalar linear, Scalar quadratic );
35 Eigen::Matrix<Scalar, 3, 1> m_position { 0, 0, 0 };
48inline const Eigen::Matrix<Scalar, 3, 1>& PointLight::getPosition()
const {
52inline void PointLight::setAttenuation(
const PointLight::Attenuation& attenuation ) {
53 m_attenuation = attenuation;
57 m_attenuation.quadratic );
60inline void PointLight::setAttenuation( Scalar constant, Scalar linear, Scalar quadratic ) {
61 setAttenuation( { constant, linear, quadratic } );
64inline 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