Radium Engine
1.5.20
|
#include <Engine/Scene/Light.hpp>
Classes | |
struct | Attenuation |
Public Types | |
enum | LightType : int { DIRECTIONAL = 0 , POINT , SPOT , POLYGONAL } |
Public Member Functions | |
Light (Entity *entity, const LightType &type, const std::string &name="light") | |
const Core::Utils::Color & | getColor () const |
void | setColor (const Core::Utils::Color &color) |
virtual void | setDirection (const Eigen::Matrix< Scalar, 3, 1 > &) |
virtual void | setPosition (const Eigen::Matrix< Scalar, 3, 1 > &) |
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. | |
const Data::RenderParameters & | getRenderParameters () const |
Gives read-only access to the renderParameters of the light. | |
Data::RenderParameters & | getRenderParameters () |
Gives read-write access to the renderParameters of the light. | |
virtual std::string | getShaderInclude () const |
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. | |
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 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 } |
enum Ra::Engine::Scene::Light::LightType : int |
Ra::Engine::Scene::Light::Light | ( | Scene::Entity * | entity, |
const LightType & | type, | ||
const std::string & | name = "light" ) |
|
inline |
|
inline |
|
inline |
void Ra::Engine::Scene::Light::getRenderParameters | ( | Data::RenderParameters & | params | ) | const |
|
virtual |
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 in Ra::Engine::Scene::DirectionalLight, Ra::Engine::Scene::PointLight, and Ra::Engine::Scene::SpotLight.
|
inline |
|
overridevirtual |
Nothing to initialize here ...
Implements Ra::Engine::Scene::Component.
|
inline |
|
inlinevirtual |
set the direction of lighting
dir |
Reimplemented in Ra::Engine::Scene::DirectionalLight, and Ra::Engine::Scene::SpotLight.
|
inlinevirtual |
Set the position of the light source
pos |
Reimplemented in Ra::Engine::Scene::PointLight, and Ra::Engine::Scene::SpotLight.