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::CapsuleLightDelegate Class Referencefinal

#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 ([[maybe_unused]] bool lightEmitsBothDirections) override
 Sets if this shape is double-sided (only applicable for 2d shapes).
 
void SetUseFastApproximation ([[maybe_unused]] bool useFastApproximation) override
 
void SetVisibility (bool visibility) override
 Turns the visibility of this light on/off.
 
void SetEnableShutters (bool enabled) override
 
void SetShutterAngles ([[maybe_unused]]float innerAngleDegrees,[[maybe_unused]]float outerAngleDegrees) override
 
void SetEnableShadow (bool enabled) override
 Sets if shadows should be enabled.
 
void SetShadowBias ([[maybe_unused]] float bias) override
 
void SetShadowmapMaxSize ([[maybe_unused]] ShadowmapSize size) override
 
void SetShadowFilterMethod ([[maybe_unused]] ShadowFilterMethod method) override
 
void SetFilteringSampleCount ([[maybe_unused]] uint32_t count) override
 
void SetEsmExponent ([[maybe_unused]] float esmExponent) override
 
void SetNormalShadowBias ([[maybe_unused]] float bias) override
 
void SetShadowCachingMode ([[maybe_unused]] AreaLightComponentConfig::ShadowCachingMode cachingMode) override
 
void SetAffectsGI ([[maybe_unused]] bool affectsGI) override
 
void SetAffectsGIFactor ([[maybe_unused]] float affectsGIFactor) override
 
void SetLightingChannelMask ([[maybe_unused]] uint32_t lightingChannelMask) override
 
void SetGoboTexture ([[maybe_unused]] AZ::Data::Instance< AZ::RPI::Image > goboTexture) override
 
- Public Member Functions inherited from AZ::Render::LightDelegateInterface
virtual void SetGoboTexture (AZ::Data::Instance< AZ::RPI::Image > goboTexture)=0
 
virtual void SetShutterAngles (float innerAngleDegrees, float outerAngleDegrees)=0
 
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 SetLightingChannelMask (uint32_t lightingChannelMask)=0
 Set the lighting channel mask.
 

Additional Inherited Members

- Protected Member Functions inherited from AZ::Render::LightDelegateBase< CapsuleLightFeatureProcessorInterface >
void InitBase (EntityId entityId)
 
CapsuleLightFeatureProcessorInterface * GetFeatureProcessor () const
 
const AreaLightComponentConfigGetConfig () const
 
FeatureProcessorType::LightHandle GetLightHandle () const
 
const Transform & GetTransform () const
 
bool GetShuttersEnabled ()
 
bool GetShadowsEnabled ()
 
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
 

Detailed Description

Manages rendering a capsule light through the capsule light feature processor and communication with a capsule shape bus for the area light component.


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