Radium Engine
1.5.0
|
#include <Engine/Scene/SpotLight.hpp>
Public Member Functions | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | SpotLight (Entity *entity, const std::string &name="spotlight") |
void | setPosition (const Eigen::Matrix< Scalar, 3, 1 > &position) override |
const Eigen::Matrix< Scalar, 3, 1 > & | getPosition () const |
void | setDirection (const Eigen::Matrix< Scalar, 3, 1 > &direction) override |
const Eigen::Matrix< Scalar, 3, 1 > & | getDirection () const |
void | setInnerAngleInRadians (Scalar angle) |
void | setOuterAngleInRadians (Scalar angle) |
void | setInnerAngleInDegrees (Scalar angle) |
void | setOuterAngleInDegrees (Scalar angle) |
Scalar | getInnerAngle () const |
Scalar | getOuterAngle () const |
void | setAttenuation (const Attenuation &attenuation) |
void | setAttenuation (Scalar constant, Scalar linear, Scalar quadratic) |
const Attenuation & | getAttenuation () const |
std::string | getShaderInclude () const override |
Public Member Functions inherited from Ra::Engine::Scene::Light | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | Light (Entity *entity, const LightType &type, const std::string &name="light") |
const Core::Utils::Color & | getColor () const |
void | setColor (const Core::Utils::Color &color) |
const LightType & | getType () const |
void | getRenderParameters (Data::RenderParameters ¶ms) const |
Extract the set of parameters that must be given to a shader for rendering and lighting with this light. More... | |
const Data::RenderParameters & | getRenderParameters () const |
Gives read-only access to the renderParameters of the light. More... | |
Data::RenderParameters & | getRenderParameters () |
Gives read-write access to the renderParameters of the light. More... | |
void | initialize () override |
Public Member Functions inherited from Ra::Engine::Scene::Component | |
Component (const std::string &name, Entity *entity) | |
CONSTRUCTOR. | |
virtual | ~Component () |
DESTRUCTOR. | |
virtual void | setEntity (Entity *entity) |
Set entity the component is part of. This method is called by the entity. More... | |
virtual Entity * | getEntity () const |
Return the entity the component belongs to. | |
virtual const std::string & | getName () const |
Return the component's name. | |
virtual void | setSystem (System *system) |
Set the system to which the component belongs. | |
virtual System * | getSystem () const |
Returns the system to which the component belongs. | |
Core::Utils::Index | addRenderObject (Rendering::RenderObject *renderObject) |
Add a new render object to the component. This adds the RO to the manager for drawing. | |
void | removeRenderObject (const Core::Utils::Index &roIdx) |
Remove the render object from the component. | |
virtual bool | canEdit (const Core::Utils::Index &) const |
Returns true if a transform can be edited with the render object index given as a key. | |
virtual Core::Transform | getTransform (const Core::Utils::Index &) const |
Get the transform associated with the given RO index key. | |
virtual void | setTransform (const Core::Utils::Index &, const Core::Transform &) |
Set the new transform associated with the RO index key. | |
void | notifyRenderObjectExpired (const Core::Utils::Index &idx) |
virtual Core::Aabb | computeAabb () |
void | invalidateAabb () |
const std::vector< Core::Utils::Index > & | getRenderObjects () |
Additional Inherited Members | |
Public Types inherited from Ra::Engine::Scene::Light | |
enum | LightType : int { DIRECTIONAL = 0 , POINT , SPOT , POLYGONAL } |
Public Attributes inherited from Ra::Engine::Scene::Component | |
std::vector< Core::Utils::Index > | m_renderObjects |
Static Protected Member Functions inherited from Ra::Engine::Scene::Component | |
static Rendering::RenderObjectManager * | getRoMgr () |
Shortcut to access the render object manager. | |
Protected Attributes inherited from Ra::Engine::Scene::Component | |
std::string | m_name {} |
Entity * | m_entity { nullptr } |
System * | m_system { nullptr } |
Spot light for rendering.
Definition at line 15 of file SpotLight.hpp.
|
overridevirtual |
Abstract method that define the glsl code that manage this light type For the moment, this is not use (except by experimental plugins) but will be part of the shader composition process of radium v2
Reimplemented from Ra::Engine::Scene::Light.
Definition at line 19 of file SpotLight.cpp.
|
inlineoverridevirtual |
set the direction of lighting
dir |
Reimplemented from Ra::Engine::Scene::Light.
Definition at line 66 of file SpotLight.hpp.
|
inlineoverridevirtual |
Set the position of the light source
pos |
Reimplemented from Ra::Engine::Scene::Light.
Definition at line 57 of file SpotLight.hpp.