#include <CapsuleLightDelegate.h>
Inherits AZ::Render::LightDelegateBase< CapsuleLightFeatureProcessorInterface >.
Public Member Functions | |
CapsuleLightDelegate (LmbrCentral::CapsuleShapeComponentRequests *shapeBus, EntityId entityId, bool isVisible) | |
float | GetSurfaceArea () const override |
Gets the surface area of the shape. | |
float | GetEffectiveSolidAngle () const override |
Returns the number of steradians covered by this light type. | |
float | CalculateAttenuationRadius (float lightThreshold) const override |
Calculates the attenuation radius for this light type based on a threshold value. | |
void | DrawDebugDisplay (const Transform &transform, const Color &color, AzFramework::DebugDisplayRequests &debugDisplay, bool isSelected) const override |
Handle any additional debug display drawing for beyond what the shape already provides. | |
void | SetAffectsGI (bool affectsGI) override |
Sets if the light should affect diffuse global illumination. | |
void | SetAffectsGIFactor (float affectsGIFactor) override |
Sets the multiplier on the contribution to diffuse global illumination. | |
Aabb | GetLocalVisualizationBounds () const override |
Returns the Aabb for the debug visualization of the light. | |
Public Member Functions inherited from AZ::Render::LightDelegateBase< CapsuleLightFeatureProcessorInterface > | |
LightDelegateBase (EntityId entityId, bool isVisible) | |
void | SetConfig (const AreaLightComponentConfig *config) override |
Sets the area light component config so delegates don't have to cache the same data locally. | |
void | SetChroma (const Color &chroma) override |
Sets the color of the light independent of light intensity. The color is a mask on the total light intensity. | |
void | SetIntensity (float intensity) override |
Sets the light intensity. | |
float | SetPhotometricUnit (PhotometricUnit unit) override |
Sets the light unit, and returns the converted light intensity. | |
void | SetAttenuationRadius (float radius) override |
Sets the maximum distance from any part of the surface of the area light at which this light will have an effect. | |
const PhotometricValue & | GetPhotometricValue () const override |
Gets the light intensity. | |
void | SetLightEmitsBothDirections (bool lightEmitsBothDirections) override |
Sets if this shape is double-sided (only applicable for 2d shapes). | |
void | SetUseFastApproximation (bool useFastApproximation) override |
void | SetVisibility (bool visibility) override |
Turns the visibility of this light on/off. | |
void | SetEnableShutters (bool enabled) override |
void | SetShutterAngles (float innerAngleDegrees, float outerAngleDegrees) override |
void | SetEnableShadow (bool enabled) override |
Sets if shadows should be enabled. | |
void | SetShadowBias (float bias) override |
Sets the shadow bias. | |
void | SetShadowmapMaxSize (ShadowmapSize size) override |
Sets the maximum resolution of the shadow map. | |
void | SetShadowFilterMethod (ShadowFilterMethod method) override |
Sets the filter method for the shadow. | |
void | SetFilteringSampleCount (uint32_t count) override |
Sets the sample count for filtering of the shadow boundary, max 64. | |
void | SetEsmExponent (float esmExponent) override |
Sets the Esm exponent to use. Higher values produce a steeper falloff between light and shadow. | |
void | SetNormalShadowBias (float bias) override |
Sets the normal bias. Reduces acne by biasing the shadowmap lookup along the geometric normal. | |
void | SetShadowCachingMode (AreaLightComponentConfig::ShadowCachingMode cachingMode) override |
void | SetAffectsGI (bool affectsGI) override |
Sets if the light should affect diffuse global illumination. | |
void | SetAffectsGIFactor (float affectsGIFactor) override |
Sets the multiplier on the contribution to diffuse global illumination. | |
virtual void | SetConfig (const AreaLightComponentConfig *config)=0 |
Sets the area light component config so delegates don't have to cache the same data locally. | |
virtual void | SetChroma (const Color &chroma)=0 |
Sets the color of the light independent of light intensity. The color is a mask on the total light intensity. | |
virtual void | SetIntensity (float intensity)=0 |
Sets the light intensity. | |
virtual float | SetPhotometricUnit (PhotometricUnit unit)=0 |
Sets the light unit, and returns the converted light intensity. | |
virtual void | SetAttenuationRadius (float radius)=0 |
Sets the maximum distance from any part of the surface of the area light at which this light will have an effect. | |
virtual const PhotometricValue & | GetPhotometricValue () const =0 |
Gets the light intensity. | |
virtual float | GetSurfaceArea () const =0 |
Gets the surface area of the shape. | |
virtual float | GetEffectiveSolidAngle () const =0 |
Returns the number of steradians covered by this light type. | |
virtual void | SetLightEmitsBothDirections (bool lightEmitsBothDirections)=0 |
Sets if this shape is double-sided (only applicable for 2d shapes). | |
virtual void | SetUseFastApproximation (bool useFastApproximation)=0 |
virtual float | CalculateAttenuationRadius (float lightThreshold) const =0 |
Calculates the attenuation radius for this light type based on a threshold value. | |
virtual void | DrawDebugDisplay (const Transform &transform, const Color &color, AzFramework::DebugDisplayRequests &debugDisplay, bool isSelected) const =0 |
Handle any additional debug display drawing for beyond what the shape already provides. | |
virtual void | SetVisibility (bool visibility)=0 |
Turns the visibility of this light on/off. | |
virtual void | SetEnableShutters (bool enabled)=0 |
virtual void | SetShutterAngles (float innerAngleDegrees, float outerAngleDegrees)=0 |
virtual void | SetEnableShadow (bool enabled)=0 |
Sets if shadows should be enabled. | |
virtual void | SetShadowBias (float bias)=0 |
Sets the shadow bias. | |
virtual void | SetShadowmapMaxSize (ShadowmapSize size)=0 |
Sets the maximum resolution of the shadow map. | |
virtual void | SetShadowFilterMethod (ShadowFilterMethod method)=0 |
Sets the filter method for the shadow. | |
virtual void | SetFilteringSampleCount (uint32_t count)=0 |
Sets the sample count for filtering of the shadow boundary, max 64. | |
virtual void | SetEsmExponent (float exponent)=0 |
Sets the Esm exponent to use. Higher values produce a steeper falloff between light and shadow. | |
virtual void | SetNormalShadowBias (float bias)=0 |
Sets the normal bias. Reduces acne by biasing the shadowmap lookup along the geometric normal. | |
virtual void | SetShadowCachingMode (AreaLightComponentConfig::ShadowCachingMode cachingMode)=0 |
virtual void | SetAffectsGI (bool affectsGI)=0 |
Sets if the light should affect diffuse global illumination. | |
virtual void | SetAffectsGIFactor (float affectsGIFactor)=0 |
Sets the multiplier on the contribution to diffuse global illumination. | |
virtual Aabb | GetLocalVisualizationBounds () const =0 |
Returns the Aabb for the debug visualization of the light. | |
Additional Inherited Members | |
Protected Member Functions inherited from AZ::Render::LightDelegateBase< CapsuleLightFeatureProcessorInterface > | |
void | InitBase (EntityId entityId) |
CapsuleLightFeatureProcessorInterface * | GetFeatureProcessor () const |
const AreaLightComponentConfig * | GetConfig () const |
FeatureProcessorType::LightHandle | GetLightHandle () const |
const Transform & | GetTransform () const |
bool | GetShuttersEnabled () |
bool | GetShadowsEnabled () |
virtual void | HandleShapeChanged ()=0 |
void | OnShapeChanged (ShapeChangeReasons changeReason) override |
void | OnTransformChanged (const Transform &local, const Transform &world) override |
Protected Attributes inherited from AZ::Render::LightDelegateBase< CapsuleLightFeatureProcessorInterface > | |
LmbrCentral::ShapeComponentRequests * | m_shapeBus |
Manages rendering a capsule light through the capsule light feature processor and communication with a capsule shape bus for the area light component.
|
overridevirtual |
Calculates the attenuation radius for this light type based on a threshold value.
Implements AZ::Render::LightDelegateInterface.
|
overridevirtual |
Handle any additional debug display drawing for beyond what the shape already provides.
Implements AZ::Render::LightDelegateInterface.
|
overridevirtual |
Returns the number of steradians covered by this light type.
Implements AZ::Render::LightDelegateInterface.
|
overridevirtual |
Returns the Aabb for the debug visualization of the light.
Implements AZ::Render::LightDelegateInterface.
|
overridevirtual |
Gets the surface area of the shape.
Implements AZ::Render::LightDelegateInterface.
|
overridevirtual |
Sets if the light should affect diffuse global illumination.
Implements AZ::Render::LightDelegateInterface.
|
overridevirtual |
Sets the multiplier on the contribution to diffuse global illumination.
Implements AZ::Render::LightDelegateInterface.