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

SimpleSpotLightFeatureProcessorInterface provides an interface to acquire, release, and update a simple spot light. More...

#include <SimpleSpotLightFeatureProcessorInterface.h>

Inherits AZ::RPI::FeatureProcessor.

Inherited by AZ::Render::SimpleSpotLightFeatureProcessor.

Public Types

using LightHandle = RHI::Handle< uint16_t, class SimpleSpotLight >
 

Public Member Functions

 AZ_RTTI (AZ::Render::SimpleSpotLightFeatureProcessorInterface, "{1DE04BF2-DD8F-437C-9B6D-4BDAC4BE2BAC}", AZ::RPI::FeatureProcessor)
 
virtual LightHandle AcquireLight ()=0
 Creates a new spot light which can be referenced by the returned LightHandle. Must be released via ReleaseLight() when no longer needed.
 
virtual bool ReleaseLight (LightHandle &handle)=0
 Releases a LightHandle which removes the spot light.
 
virtual LightHandle CloneLight (LightHandle handle)=0
 Creates a new LightHandle by copying data from an existing LightHandle.
 
virtual void SetRgbIntensity (LightHandle handle, const PhotometricColor< PhotometricUnitType > &lightColor)=0
 Sets the intensity in RGB candela for a given LightHandle.
 
virtual void SetTransform (LightHandle handle, const AZ::Transform &transform)=0
 Sets the light's transformation for a given LightHandle.
 
virtual void SetAttenuationRadius (LightHandle handle, float attenuationRadius)=0
 Sets the radius in meters at which the provided LightHandle will no longer have an effect.
 
virtual void SetConeAngles (LightHandle handle, float innerRadians, float outerRadians)=0
 Sets the inner and outer cone angles in radians.
 
virtual void SetAffectsGI (LightHandle handle, bool affectsGI)=0
 Specifies if this light affects the diffuse global illumination in the scene.
 
virtual void SetAffectsGIFactor (LightHandle handle, float affectsGIFactor)=0
 Specifies the contribution of this light to the diffuse global illumination in the scene.
 
virtual void SetLightingChannelMask (LightHandle handle, uint32_t lightingChannelMask)=0
 Sets the lighting channel mask.
 
virtual void SetGoboTexture (LightHandle handle, AZ::Data::Instance< AZ::RPI::Image > goboTexture)=0
 Set a gobo texture to the light.
 
virtual void SetShadowsEnabled (LightHandle handle, bool enabled)=0
 Sets if shadows are enabled.
 
virtual void SetShadowBias (LightHandle handle, float bias)=0
 Sets the shadow bias.
 
virtual void SetNormalShadowBias (LightHandle handle, float bias)=0
 Sets the normal shadow bias.
 
virtual void SetShadowmapMaxResolution (LightHandle handle, ShadowmapSize shadowmapSize)=0
 Sets the shadowmap size (width and height) of the light.
 
virtual void SetShadowFilterMethod (LightHandle handle, ShadowFilterMethod method)=0
 Specifies filter method of shadows.
 
virtual void SetFilteringSampleCount (LightHandle handle, uint16_t count)=0
 Sets sample count for filtering of shadow boundary (up to 64)
 
virtual void SetEsmExponent (LightHandle handle, float exponent)=0
 Sets the Esm exponent to use. Higher values produce a steeper falloff in the border areas between light and shadow.
 
virtual void SetUseCachedShadows (LightHandle handle, bool useCachedShadows)=0
 Sets if this shadow should be rendered every frame (not cached) or only when it detects a change (cached).
 
virtual const Data::Instance< RPI::BufferGetLightBuffer () const =0
 Returns the buffer containing the light data for all simple spot lights.
 
virtual uint32_t GetLightCount () const =0
 Returns the number of simple spot lights.
 
- Public Member Functions inherited from AZ::RPI::FeatureProcessor
 AZ_RTTI (FeatureProcessor, "{B8027170-C65C-4237-964D-B557FC9D7575}")
 
 AZ_CLASS_ALLOCATOR (FeatureProcessor, AZ::SystemAllocator)
 
SceneGetParentScene () const
 
virtual void Activate ()
 Perform any necessary activation and gives access to owning Scene.
 
virtual void Deactivate ()
 Perform any necessary deactivation.
 
virtual void ApplyRenderPipelineChange (RenderPipeline *pipeline)
 
virtual void AddRenderPasses (RenderPipeline *pipeline)
 
virtual void PrepareViews (const PrepareViewsPacket &, AZStd::vector< AZStd::pair< PipelineViewTag, ViewPtr > > &)
 
virtual void Simulate (const SimulatePacket &)
 
virtual void Render (const RenderPacket &)
 
virtual void OnEndCulling (const RenderPacket &)
 
virtual void OnRenderEnd ()
 

Static Public Attributes

static constexpr PhotometricUnit PhotometricUnitType = PhotometricUnit::Candela
 

Additional Inherited Members

- Protected Member Functions inherited from AZ::RPI::FeatureProcessor
void EnableSceneNotification ()
 
void DisableSceneNotification ()
 

Detailed Description

SimpleSpotLightFeatureProcessorInterface provides an interface to acquire, release, and update a simple spot light.

Member Function Documentation

◆ AcquireLight()

virtual LightHandle AZ::Render::SimpleSpotLightFeatureProcessorInterface::AcquireLight ( )
pure virtual

Creates a new spot light which can be referenced by the returned LightHandle. Must be released via ReleaseLight() when no longer needed.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ CloneLight()

virtual LightHandle AZ::Render::SimpleSpotLightFeatureProcessorInterface::CloneLight ( LightHandle  handle)
pure virtual

Creates a new LightHandle by copying data from an existing LightHandle.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ GetLightBuffer()

virtual const Data::Instance< RPI::Buffer > AZ::Render::SimpleSpotLightFeatureProcessorInterface::GetLightBuffer ( ) const
pure virtual

Returns the buffer containing the light data for all simple spot lights.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ GetLightCount()

virtual uint32_t AZ::Render::SimpleSpotLightFeatureProcessorInterface::GetLightCount ( ) const
pure virtual

Returns the number of simple spot lights.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ ReleaseLight()

virtual bool AZ::Render::SimpleSpotLightFeatureProcessorInterface::ReleaseLight ( LightHandle handle)
pure virtual

Releases a LightHandle which removes the spot light.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetAffectsGI()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetAffectsGI ( LightHandle  handle,
bool  affectsGI 
)
pure virtual

Specifies if this light affects the diffuse global illumination in the scene.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetAffectsGIFactor()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetAffectsGIFactor ( LightHandle  handle,
float  affectsGIFactor 
)
pure virtual

Specifies the contribution of this light to the diffuse global illumination in the scene.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetAttenuationRadius()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetAttenuationRadius ( LightHandle  handle,
float  attenuationRadius 
)
pure virtual

Sets the radius in meters at which the provided LightHandle will no longer have an effect.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetConeAngles()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetConeAngles ( LightHandle  handle,
float  innerRadians,
float  outerRadians 
)
pure virtual

Sets the inner and outer cone angles in radians.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetEsmExponent()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetEsmExponent ( LightHandle  handle,
float  exponent 
)
pure virtual

Sets the Esm exponent to use. Higher values produce a steeper falloff in the border areas between light and shadow.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetFilteringSampleCount()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetFilteringSampleCount ( LightHandle  handle,
uint16_t  count 
)
pure virtual

Sets sample count for filtering of shadow boundary (up to 64)

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetGoboTexture()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetGoboTexture ( LightHandle  handle,
AZ::Data::Instance< AZ::RPI::Image goboTexture 
)
pure virtual

Set a gobo texture to the light.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetLightingChannelMask()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetLightingChannelMask ( LightHandle  handle,
uint32_t  lightingChannelMask 
)
pure virtual

Sets the lighting channel mask.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetNormalShadowBias()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetNormalShadowBias ( LightHandle  handle,
float  bias 
)
pure virtual

Sets the normal shadow bias.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetRgbIntensity()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetRgbIntensity ( LightHandle  handle,
const PhotometricColor< PhotometricUnitType > &  lightColor 
)
pure virtual

Sets the intensity in RGB candela for a given LightHandle.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetShadowBias()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetShadowBias ( LightHandle  handle,
float  bias 
)
pure virtual

Sets the shadow bias.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetShadowFilterMethod()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetShadowFilterMethod ( LightHandle  handle,
ShadowFilterMethod  method 
)
pure virtual

Specifies filter method of shadows.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetShadowmapMaxResolution()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetShadowmapMaxResolution ( LightHandle  handle,
ShadowmapSize  shadowmapSize 
)
pure virtual

Sets the shadowmap size (width and height) of the light.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetShadowsEnabled()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetShadowsEnabled ( LightHandle  handle,
bool  enabled 
)
pure virtual

Sets if shadows are enabled.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetTransform()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetTransform ( LightHandle  handle,
const AZ::Transform &  transform 
)
pure virtual

Sets the light's transformation for a given LightHandle.

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.

◆ SetUseCachedShadows()

virtual void AZ::Render::SimpleSpotLightFeatureProcessorInterface::SetUseCachedShadows ( LightHandle  handle,
bool  useCachedShadows 
)
pure virtual

Sets if this shadow should be rendered every frame (not cached) or only when it detects a change (cached).

Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.


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