Open 3D Engine AtomLyIntegration Gem API Reference  24.09
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< SimplePointLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< CapsuleLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< QuadLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< PolygonLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< PointLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< DiskLightFeatureProcessorInterface >, AZ::Render::LightDelegateBase< SimpleSpotLightFeatureProcessorInterface >, 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 ([[maybe_unused]] bool lightEmitsBothDirections)=0
 Sets if this shape is double-sided (only applicable for 2d shapes).
 
virtual void SetUseFastApproximation ([[maybe_unused]] 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 SetGoboTexture (AZ::Data::Instance< AZ::RPI::Image > goboTexture)=0
 
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 void SetLightingChannelMask (uint32_t lightingChannelMask)=0
 Set the lighting channel mask.
 
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

◆ SetShadowCachingMode()

virtual void AZ::Render::LightDelegateInterface::SetShadowCachingMode ( AreaLightComponentConfig::ShadowCachingMode  cachingMode)
pure virtual

Sets the current shadow caching mode. Cached shadows use persistent textures and only update when they detect a change. Regular shadows use transient textures but re-render every frame.

Implemented in AZ::Render::SphereLightDelegate, AZ::Render::SimpleSpotLightDelegate, and AZ::Render::DiskLightDelegate.

◆ SetUseFastApproximation()


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