NAP
Public Attributes | List of all members
SpotLightComponent Class Reference

#include <spotlightcomponent.h>

Public Attributes

float mAttenuation = 0.1f
 Property: 'Attenuation' The rate at which light intensity is lost over distance from the origin. More...
 
float mAngle = 90.0f
 Property: 'Angle' The light's angle of view (focus) More...
 
float mFOVClip = 1.0f
 Property: 'FOVClip' The light shadow camera view clip value, where 1.0 is equals the light angle of view. More...
 
float mFalloff = 0.5f
 Property: 'Falloff' The falloff, where 0.0 cuts off at the edge, and 1.0 results in a linear gradient. More...
 
glm::vec2 mClippingPlanes = { 1.0f, 1000.0f }
 Property: 'ClippingPlanes' The near and far shadow clipping distance of this light. More...
 
uint mShadowMapSize = 1024
 Property: 'ShadowMapSize' The horizontal and vertical dimension of the shadow map for this light. More...
 
- Public Attributes inherited from LightComponent
bool mEnabled = true
 Property: 'Enabled' Whether the light is enabled. More...
 
bool mCastShadows = false
 Property: 'CastShadows' Enables shadows and creates shadow map resources for this light. More...
 
RGBColorFloat mColor = {1.0f, 1.0f, 1.0f}
 Property: 'Color' The light color. More...
 
float mIntensity = 1.0f
 Property: 'Intensity' The light intensity. More...
 
float mShadowStrength = 1.0f
 Property: 'ShadowStrength' The amount of light the shadow consumes. More...
 
Locator mLocator
 Property: 'Locator' Locator settings. More...
 
- Public Attributes inherited from Object
std::string mID
 Property: 'mID' unique name of the object. Used as an identifier by the system. More...
 

Additional Inherited Members

- Public Member Functions inherited from LightComponent
virtual void getDependentComponents (std::vector< rtti::TypeInfo > &components) const override
 
- Public Member Functions inherited from Component
virtual const rtti::TypeInfo getInstanceType () const =0
 
- Public Member Functions inherited from Resource
 Resource ()
 
- Public Member Functions inherited from Object
 Object ()
 
virtual ~Object ()
 
virtual bool init (utility::ErrorState &errorState)
 
virtual void onDestroy ()
 
 Object (Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&)=delete
 
Objectoperator= (Object &&)=delete
 
- Static Public Member Functions inherited from Object
static bool isIDProperty (rtti::Instance &object, const rtti::Property &property)
 

Description

Spot light component for NAP RenderAdvanced's light system.

Source that emits light from its origin to a specified direction with an angle of view (i.e. cone light). The shadow map for this light is a 2D depth texture; therefore, the reach of the light can exceed the extent beyond that of the depth map. The Render Advanced service creates and manages a nap::DepthRenderTarget and nap::DepthRenderTexture2D for rendering this light's shadow maps.

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

Member Data Documentation

◆ mAngle

float mAngle = 90.0f

Property: 'Angle' The light's angle of view (focus)

◆ mAttenuation

float mAttenuation = 0.1f

Property: 'Attenuation' The rate at which light intensity is lost over distance from the origin.

◆ mClippingPlanes

glm::vec2 mClippingPlanes = { 1.0f, 1000.0f }

Property: 'ClippingPlanes' The near and far shadow clipping distance of this light.

◆ mFalloff

float mFalloff = 0.5f

Property: 'Falloff' The falloff, where 0.0 cuts off at the edge, and 1.0 results in a linear gradient.

◆ mFOVClip

float mFOVClip = 1.0f

Property: 'FOVClip' The light shadow camera view clip value, where 1.0 is equals the light angle of view.

◆ mShadowMapSize

uint mShadowMapSize = 1024

Property: 'ShadowMapSize' The horizontal and vertical dimension of the shadow map for this light.