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::AreaLightRequests Class Referenceabstract

Inherits AZ::ComponentBus.

Public Member Functions

 AZ_RTTI (AZ::Render::AreaLightRequests, "{BC54532C-F3C8-4942-99FC-58D2E3D3DD54}")
 
virtual const Color & GetColor () const =0
 Gets an area light's color. This value is independent from its intensity.
 
virtual void SetColor (const Color &color)=0
 Sets an area light's color. This value is independent from its intensity.
 
virtual float GetIntensity () const =0
 Gets an area light's intensity. This value is independent from its color.
 
virtual bool GetLightEmitsBothDirections () const =0
 Gets whether an area light emits light in both directions from a 2D surface. Only applies to 2D shape types.
 
virtual void SetLightEmitsBothDirections (bool value)=0
 Sets whether an area light emits light in both directions from a 2D surface. Only applies to 2D shape types.
 
virtual bool GetUseFastApproximation () const =0
 Gets whether the light is using the default high quality linearly transformed cosine lights (false) or a faster approximation (true).
 
virtual void SetUseFastApproximation (bool useFastApproximation)=0
 Sets whether the light should use the default high quality linearly transformed cosine lights (false) or a faster approximation (true).
 
virtual PhotometricUnit GetIntensityMode () const =0
 Gets an area light's photometric type.
 
virtual void SetIntensityAndMode (float intensity, PhotometricUnit intensityMode)=0
 Sets an area light's intensity and intensity mode. This value is independent from its color.
 
virtual void SetIntensity (float intensity, PhotometricUnit intensityMode)=0
 
virtual void SetIntensity (float intensity)=0
 
virtual float GetAttenuationRadius () const =0
 Gets the distance at which the area light will no longer affect lighting.
 
virtual void SetAttenuationRadius (float radius)=0
 Set the distance and which an area light will no longer affect lighting. Setting this forces the RadiusCalculation to Explicit mode.
 
virtual void SetAttenuationRadiusMode (LightAttenuationRadiusMode attenuationRadiusMode)=0
 
virtual void ConvertToIntensityMode (PhotometricUnit intensityMode)=0
 Sets the photometric unit to the one provided and converts the intensity to the photometric unit so actual light intensity remains constant.
 
virtual float GetSurfaceArea () const =0
 Gets the surface area of the shape.
 
virtual bool GetEnableShutters () const =0
 Returns true if shutters are enabled.
 
virtual void SetEnableShutters (bool enabled)=0
 Sets if shutters should be enabled.
 
virtual float GetInnerShutterAngle () const =0
 Returns the inner angle of the shutters in degrees.
 
virtual void SetInnerShutterAngle (float degrees)=0
 Sets the inner angle of the shutters in degrees.
 
virtual float GetOuterShutterAngle () const =0
 Returns the outer angle of the shutters in degrees.
 
virtual void SetOuterShutterAngle (float degrees)=0
 Sets the outer angle of the shutters in degrees.
 
virtual bool GetEnableShadow () const =0
 Returns true if shadows are enabled.
 
virtual void SetEnableShadow (bool enabled)=0
 Sets if shadows should be enabled.
 
virtual float GetShadowBias () const =0
 Returns the shadow bias.
 
virtual void SetShadowBias (float bias)=0
 Sets the shadow bias.
 
virtual ShadowmapSize GetShadowmapMaxSize () const =0
 Returns the maximum width and height of shadowmap.
 
virtual void SetShadowmapMaxSize (ShadowmapSize size)=0
 Sets the maximum width and height of shadowmap.
 
virtual ShadowFilterMethod GetShadowFilterMethod () const =0
 Returns the filter method of shadows.
 
virtual void SetShadowFilterMethod (ShadowFilterMethod method)=0
 Sets the filter method of shadows.
 
virtual uint32_t GetFilteringSampleCount () const =0
 Gets the sample count for filtering of the shadow boundary.
 
virtual void SetFilteringSampleCount (uint32_t count)=0
 Sets the sample count for filtering of the shadow boundary. Maximum 64.
 
virtual float GetEsmExponent () const =0
 Gets the Esm exponent. Higher values produce a steeper falloff between light and shadow.
 
virtual void SetEsmExponent (float exponent)=0
 Sets the Esm exponent. Higher values produce a steeper falloff between light and shadow.
 
virtual float GetNormalShadowBias () const =0
 
virtual void SetNormalShadowBias (float normalShadowBias)=0
 
virtual AreaLightComponentConfig::ShadowCachingMode GetShadowCachingMode () const =0
 
virtual void SetShadowCachingMode (AreaLightComponentConfig::ShadowCachingMode cachingMode)=0
 
virtual bool GetAffectsGI () const =0
 Returns true if this light affects global illumination.
 
virtual void SetAffectsGI (bool affectsGI) const =0
 Set whether this light affects global illumination.
 
virtual float GetAffectsGIFactor () const =0
 Returns the contribution multiplier for global illumination.
 
virtual void SetAffectsGIFactor (float affectsGIFactor) const =0
 Sets the contribution multiplier for global illumination.
 
virtual AZ::Aabb GetLocalVisualizationBounds () const =0
 Returns the Aabb for the debug visualization of the light.
 

Static Public Attributes

static const EBusHandlerPolicy HandlerPolicy = EBusHandlerPolicy::Single
 Overrides the default AZ::EBusTraits handler policy to allow one listener only.
 

Member Function Documentation

◆ GetNormalShadowBias()

virtual float AZ::Render::AreaLightRequests::GetNormalShadowBias ( ) const
pure virtual

Reduces acne by biasing the shadowmap lookup along the geometric normal.

Returns
Returns the amount of bias to apply.

◆ GetShadowCachingMode()

virtual AreaLightComponentConfig::ShadowCachingMode AZ::Render::AreaLightRequests::GetShadowCachingMode ( ) const
pure virtual

Gets 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.

◆ SetIntensity() [1/2]

virtual void AZ::Render::AreaLightRequests::SetIntensity ( float  intensity)
pure virtual

Sets an area light's intensity. This value is independent from its color. Assumes no change in the current photometric unit of the intensity.

◆ SetIntensity() [2/2]

virtual void AZ::Render::AreaLightRequests::SetIntensity ( float  intensity,
PhotometricUnit  intensityMode 
)
pure virtual

Sets an area light's intensity and intensity mode. This value is independent from its color. O3DE_DEPRECATION_NOTICE(GHI-16553)

◆ SetNormalShadowBias()

virtual void AZ::Render::AreaLightRequests::SetNormalShadowBias ( float  normalShadowBias)
pure virtual

Reduces acne by biasing the shadowmap lookup along the geometric normal.

Parameters
normalShadowBiasSets the amount of normal shadow bias to apply.

◆ SetShadowCachingMode()

virtual void AZ::Render::AreaLightRequests::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.


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