NAP
Public Member Functions | List of all members
DirectionalLightComponentInstance Class Reference

#include <directionallightcomponent.h>

Public Member Functions

 DirectionalLightComponentInstance (EntityInstance &entity, Component &resource)
 
virtual bool init (utility::ErrorState &errorState) override
 
virtual ELightType getLightType () const override
 
virtual EShadowMapType getShadowMapType () const override
 
- Public Member Functions inherited from LightComponentInstance
 LightComponentInstance (EntityInstance &entity, Component &resource)
 
virtual ~LightComponentInstance ()
 
virtual void onDestroy () override
 
virtual void enable (bool enable)
 
bool isEnabled () const
 
bool canCastShadows () const
 
bool castsShadows () const
 
virtual uint getShadowMapSize () const
 
virtual float getIntensity () const
 
void setIntensity (float intensity)
 
virtual float getShadowStrength () const
 
virtual void setShadowStrength (float strength)
 
virtual const RGBColorFloatgetColor () const
 
void setColor (const RGBColorFloat &color)
 
const glm::vec3 getLightPosition () const
 
const glm::vec3 getLightDirection () const
 
const TransformComponentInstancegetTransform () const
 
TransformComponentInstancegetTransform ()
 
bool hasCamera () const
 
CameraComponentInstancegetCamera () const
 
CameraComponentInstancegetCamera ()
 
const RenderGnomonComponentInstancegetGnomon () const
 
RenderGnomonComponentInstancegetGnomon ()
 
const RenderFrustumComponentInstancegetFrustrum () const
 
RenderFrustumComponentInstancegetFrustrum ()
 
- Public Member Functions inherited from ComponentInstance
 ComponentInstance (EntityInstance &entity, Component &resource)
 
virtual void update (double deltaTime)
 
nap::EntityInstancegetEntityInstance () const
 
nap::ComponentgetComponent () const
 
template<typename T >
T * getComponent () const
 
virtual bool init (utility::ErrorState &errorState)
 
- Public Member Functions inherited from Object
 Object ()
 
virtual ~Object ()
 
 Object (Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&)=delete
 
Objectoperator= (Object &&)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static bool isIDProperty (rtti::Instance &object, const rtti::Property &property)
 
- Public Attributes inherited from LightComponentInstance
float mIntensity = 1.0f
 
RGBColorFloat mColor = { 1.0f, 1.0f, 1.0f }
 
- Public Attributes inherited from Object
std::string mID
 Property: 'mID' unique name of the object. Used as an identifier by the system. More...
 
- Protected Member Functions inherited from LightComponentInstance
void registerUniformLightProperty (const std::string &memberName)
 
SpawnedEntityInstance spawnShadowCamera (const nap::Entity &entity, nap::utility::ErrorState &error)
 
- Protected Attributes inherited from LightComponentInstance
LightComponentmResource = nullptr
 
TransformComponentInstancemTransform = nullptr
 
RenderAdvancedServicemService = nullptr
 
SpawnedEntityInstance mSpawnedCamera
 
bool mIsEnabled = true
 
bool mIsShadowEnabled = false
 
float mShadowStrength = 1.0f
 
uint mShadowMapSize = 512
 

Description

Directional light component instance for NAP RenderAdvanced's light system.

Unidirectional light that emits from its origin to a specified direction. The Render Advanced service creates and manages a nap::DepthRenderTarget and nap::DepthRenderTexture2D for rendering this light's shadow maps.

Inheritance diagram for DirectionalLightComponentInstance:
[legend]
Collaboration diagram for DirectionalLightComponentInstance:
[legend]

Constructor & Destructor Documentation

◆ DirectionalLightComponentInstance()

Member Function Documentation

◆ getLightType()

virtual ELightType getLightType ( ) const
overridevirtual
Returns
the light type

Implements LightComponentInstance.

◆ getShadowMapType()

virtual EShadowMapType getShadowMapType ( ) const
overridevirtual
Returns
the shadow map type

Implements LightComponentInstance.

◆ init()

virtual bool init ( utility::ErrorState errorState)
overridevirtual

Initialize LightComponentInstance based on the LightComponent resource

Parameters
errorStateshould hold the error message when initialization fails
Returns
if the LightComponentInstance is initialized successfully

Reimplemented from LightComponentInstance.