Inherits AZ::Render::PointLightFeatureProcessorInterface.
Public Member Functions | |
AZ_RTTI (AZ::Render::PointLightFeatureProcessor, "{C16A39D6-0DDA-4511-9E35-42968702D3B4}", AZ::Render::PointLightFeatureProcessorInterface) | |
void | Activate () override |
Perform any necessary activation and gives access to owning Scene. | |
void | Deactivate () override |
Perform any necessary deactivation. | |
void | Simulate (const SimulatePacket &packet) override |
void | Render (const RenderPacket &packet) override |
LightHandle | AcquireLight () override |
bool | ReleaseLight (LightHandle &handle) override |
Releases a LightHandle which removes the point light. | |
LightHandle | CloneLight (LightHandle handle) override |
Creates a new LightHandle by copying data from an existing LightHandle. | |
void | SetRgbIntensity (LightHandle handle, const PhotometricColor< PhotometricUnitType > &lightColor) override |
Sets the intensity in RGB candela for a given LightHandle. | |
void | SetPosition (LightHandle handle, const AZ::Vector3 &lightPosition) override |
Sets the position for a given LightHandle. | |
void | SetAttenuationRadius (LightHandle handle, float attenuationRadius) override |
Sets the radius in meters at which the provided LightHandle will no longer have an effect. | |
void | SetBulbRadius (LightHandle handle, float bulbRadius) override |
Sets the bulb radius for the provided LightHandle. Values greater than zero effectively make it a spherical light. | |
void | SetShadowsEnabled (LightHandle handle, bool enabled) override |
Sets if shadows are enabled. | |
void | SetShadowBias (LightHandle handle, float bias) override |
Sets the shadow bias. | |
void | SetShadowmapMaxResolution (LightHandle handle, ShadowmapSize shadowmapSize) override |
Sets the shadowmap size (width and height) of the light. | |
void | SetShadowFilterMethod (LightHandle handle, ShadowFilterMethod method) override |
Specifies filter method of shadows. | |
void | SetFilteringSampleCount (LightHandle handle, uint16_t count) override |
Sets sample count for filtering of shadow boundary (up to 64) | |
void | SetEsmExponent (LightHandle handle, float esmExponent) override |
Sets the Esm exponent to use. Higher values produce a steeper falloff in the border areas between light and shadow. | |
void | SetUseCachedShadows (LightHandle handle, bool useCachedShadows) override |
Sets if this shadow should be rendered every frame (not cached) or only when it detects a change (cached). | |
void | SetNormalShadowBias (LightHandle handle, float bias) override |
Sets the normal shadow bias. Reduces acne by biasing the shadowmap lookup along the geometric normal. | |
void | SetAffectsGI (LightHandle handle, bool affectsGI) override |
Specifies if this light affects the diffuse global illumination in the scene. | |
void | SetAffectsGIFactor (LightHandle handle, float affectsGIFactor) override |
Specifies the contribution of this light to the diffuse global illumination in the scene. | |
void | SetLightingChannelMask (LightHandle handle, uint32_t lightingChannelMask) override |
Sets the lighting channel mask. | |
void | SetPointData (LightHandle handle, const PointLightData &data) override |
Sets all of the the point data for the provided LightHandle. | |
const Data::Instance< RPI::Buffer > | GetLightBuffer () const override |
Returns the buffer containing the light data for all point lights. | |
uint32_t | GetLightCount () const override |
Returns the number of point lights. | |
![]() | |
AZ_RTTI (AZ::Render::PointLightFeatureProcessorInterface, "{D3E0B016-F3C6-4C7A-A29E-0B3A4FA87806}", AZ::RPI::FeatureProcessor) | |
AZ_FEATURE_PROCESSOR (PointLightFeatureProcessorInterface) | |
![]() | |
AZ_RTTI (FeatureProcessor, "{B8027170-C65C-4237-964D-B557FC9D7575}") | |
AZ_CLASS_ALLOCATOR (FeatureProcessor, AZ::SystemAllocator) | |
Scene * | GetParentScene () const |
virtual void | ApplyRenderPipelineChange (RenderPipeline *pipeline) |
virtual void | AddRenderPasses (RenderPipeline *pipeline) |
virtual void | PrepareViews (const PrepareViewsPacket &, AZStd::vector< AZStd::pair< PipelineViewTag, ViewPtr > > &) |
virtual void | OnEndCulling (const RenderPacket &) |
virtual void | OnRenderEnd () |
Static Public Member Functions | |
static void | Reflect (AZ::ReflectContext *context) |
Additional Inherited Members | |
![]() | |
using | LightHandle = RHI::Handle< uint16_t, class PointLight > |
![]() | |
static constexpr PhotometricUnit | PhotometricUnitType = PhotometricUnit::Candela |
![]() | |
void | EnableSceneNotification () |
void | DisableSceneNotification () |
|
overridevirtual |
Creates a new point light which can be referenced by the returned LightHandle. Must be released via ReleaseLight() when no longer needed.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Perform any necessary activation and gives access to owning Scene.
Reimplemented from AZ::RPI::FeatureProcessor.
|
overridevirtual |
Creates a new LightHandle by copying data from an existing LightHandle.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Perform any necessary deactivation.
Reimplemented from AZ::RPI::FeatureProcessor.
|
overridevirtual |
Returns the buffer containing the light data for all point lights.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Returns the number of point lights.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Releases a LightHandle which removes the point light.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
The feature processor should enqueue draw packets to relevant draw lists.
Reimplemented from AZ::RPI::FeatureProcessor.
|
overridevirtual |
Specifies if this light affects the diffuse global illumination in the scene.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Specifies the contribution of this light to the diffuse global illumination in the scene.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the radius in meters at which the provided LightHandle will no longer have an effect.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the bulb radius for the provided LightHandle. Values greater than zero effectively make it a spherical light.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the Esm exponent to use. Higher values produce a steeper falloff in the border areas between light and shadow.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets sample count for filtering of shadow boundary (up to 64)
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the lighting channel mask.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the normal shadow bias. Reduces acne by biasing the shadowmap lookup along the geometric normal.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets all of the the point data for the provided LightHandle.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the position for a given LightHandle.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the intensity in RGB candela for a given LightHandle.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the shadow bias.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Specifies filter method of shadows.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets the shadowmap size (width and height) of the light.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets if shadows are enabled.
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
Sets if this shadow should be rendered every frame (not cached) or only when it detects a change (cached).
Implements AZ::Render::PointLightFeatureProcessorInterface.
|
overridevirtual |
The feature processor should perform any internal simulation at this point - For instance, updating a particle system or animation. Not every feature processor will need to implement this.
Reimplemented from AZ::RPI::FeatureProcessor.