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::Buffer > | GetLightBuffer () 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. | |
![]() | |
AZ_RTTI (FeatureProcessor, "{B8027170-C65C-4237-964D-B557FC9D7575}") | |
AZ_CLASS_ALLOCATOR (FeatureProcessor, AZ::SystemAllocator) | |
Scene * | GetParentScene () 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 | |
![]() | |
void | EnableSceneNotification () |
void | DisableSceneNotification () |
SimpleSpotLightFeatureProcessorInterface provides an interface to acquire, release, and update a simple spot light.
|
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.
|
pure virtual |
Creates a new LightHandle by copying data from an existing LightHandle.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Returns the buffer containing the light data for all simple spot lights.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Returns the number of simple spot lights.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Releases a LightHandle which removes the spot light.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Specifies if this light affects the diffuse global illumination in the scene.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Specifies the contribution of this light to the diffuse global illumination in the scene.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the radius in meters at which the provided LightHandle will no longer have an effect.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the inner and outer cone angles in radians.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
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.
|
pure virtual |
Sets sample count for filtering of shadow boundary (up to 64)
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Set a gobo texture to the light.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the lighting channel mask.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the normal shadow bias.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the intensity in RGB candela for a given LightHandle.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the shadow bias.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Specifies filter method of shadows.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the shadowmap size (width and height) of the light.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets if shadows are enabled.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
pure virtual |
Sets the light's transformation for a given LightHandle.
Implemented in AZ::Render::SimpleSpotLightFeatureProcessor.
|
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.