Open 3D Engine AtomLyIntegration Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Render::LightDelegateInterface Class Referenceabstract

Delegate for managing light shape specific functionality in the AreaLightComponentController. More...

#include <LightDelegateInterface.h>

Inherited by AZ::Render::LightDelegateBase< CapsuleLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< DiskLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< PolygonLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< QuadLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< SimplePointLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< SimpleSpotLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< PointLightFeatureProcessorInterface >, and AZ::Render::LightDelegateBase< FeatureProcessorType >.

Public Member Functions

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.
 

Detailed Description

Delegate for managing light shape specific functionality in the AreaLightComponentController.

Member Function Documentation

◆ CalculateAttenuationRadius()

virtual float AZ::Render::LightDelegateInterface::CalculateAttenuationRadius ( float  lightThreshold) const
pure virtual

◆ DrawDebugDisplay()

virtual void AZ::Render::LightDelegateInterface::DrawDebugDisplay ( const Transform &  transform,
const Color &  color,
AzFramework::DebugDisplayRequests &  debugDisplay,
bool  isSelected 
) const
pure virtual

◆ GetEffectiveSolidAngle()

virtual float AZ::Render::LightDelegateInterface::GetEffectiveSolidAngle ( ) const
pure virtual

◆ GetLocalVisualizationBounds()

virtual Aabb AZ::Render::LightDelegateInterface::GetLocalVisualizationBounds ( ) const
pure virtual

◆ GetPhotometricValue()

◆ GetSurfaceArea()

virtual float AZ::Render::LightDelegateInterface::GetSurfaceArea ( ) const
pure virtual

◆ SetAffectsGI()

◆ SetAffectsGIFactor()

◆ SetAttenuationRadius()

◆ SetChroma()

◆ SetConfig()

◆ SetEnableShadow()

◆ SetEsmExponent()

◆ SetFilteringSampleCount()

◆ SetIntensity()

◆ SetLightEmitsBothDirections()

◆ SetNormalShadowBias()

◆ SetPhotometricUnit()

◆ SetShadowBias()

◆ SetShadowCachingMode()

◆ SetShadowFilterMethod()

◆ SetShadowmapMaxSize()

◆ SetUseFastApproximation()

◆ SetVisibility()


The documentation for this class was generated from the following file: