Open 3D Engine Atom Gem API Reference  23.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::PointLightFeatureProcessor Class Referencefinal

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 SetPointData (LightHandle handle, const PointLightData &data) override
 Sets all of the the point data for the provided LightHandle.
 
const Data::Instance< RPI::BufferGetLightBuffer () const
 
uint32_t GetLightCount () const
 
- Public Member Functions inherited from AZ::Render::PointLightFeatureProcessorInterface
 AZ_RTTI (AZ::Render::PointLightFeatureProcessorInterface,"{D3E0B016-F3C6-4C7A-A29E-0B3A4FA87806}", AZ::RPI::FeatureProcessor)
 
 AZ_FEATURE_PROCESSOR (PointLightFeatureProcessorInterface)
 
- 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 ApplyRenderPipelineChange ([[maybe_unused]] RenderPipeline *pipeline)
 
virtual void AddRenderPasses ([[maybe_unused]] RenderPipeline *pipeline)
 
virtual void PrepareViews (const PrepareViewsPacket &, AZStd::vector< AZStd::pair< PipelineViewTag, ViewPtr >> &)
 
virtual void OnRenderEnd ()
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Additional Inherited Members

- Public Types inherited from AZ::Render::PointLightFeatureProcessorInterface
using LightHandle = RHI::Handle< uint16_t, class PointLight >
 
- Static Public Attributes inherited from AZ::Render::PointLightFeatureProcessorInterface
static constexpr PhotometricUnit PhotometricUnitType = PhotometricUnit::Candela
 
- Protected Member Functions inherited from AZ::RPI::FeatureProcessor
void EnableSceneNotification ()
 
void DisableSceneNotification ()
 

Member Function Documentation

LightHandle AZ::Render::PointLightFeatureProcessor::AcquireLight ( )
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.

void AZ::Render::PointLightFeatureProcessor::Render ( const RenderPacket )
overridevirtual

The feature processor should enqueue draw packets to relevant draw lists.

  • This is called every frame.
  • This may be called in parallel with other feature processors.

Reimplemented from AZ::RPI::FeatureProcessor.

void AZ::Render::PointLightFeatureProcessor::Simulate ( const SimulatePacket )
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.

  • This may not be called every frame.
  • This may be called in parallel with other feature processors.

Reimplemented from AZ::RPI::FeatureProcessor.


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