Open 3D Engine Atom Gem API Reference  2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Public Types | Public Member Functions | Static Public Attributes | List of all members
AZ::Render::PointLightFeatureProcessorInterface Class Referenceabstract

PointLightFeatureProcessorInterface provides an interface to acquire, release, and update a point light. More...

#include <PointLightFeatureProcessorInterface.h>

Inherits AZ::RPI::FeatureProcessor.

Public Types

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

Public Member Functions

 AZ_RTTI (AZ::Render::PointLightFeatureProcessorInterface, "{D3E0B016-F3C6-4C7A-A29E-0B3A4FA87806}", AZ::RPI::FeatureProcessor)
 
 AZ_FEATURE_PROCESSOR (PointLightFeatureProcessorInterface)
 
virtual LightHandle AcquireLight ()=0
 
virtual bool ReleaseLight (LightHandle &handle)=0
 Releases a LightHandle which removes the point 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 SetPosition (LightHandle handle, const AZ::Vector3 &lightPosition)=0
 Sets the position 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 SetBulbRadius (LightHandle handle, float bulbRadius)=0
 Sets the bulb radius for the provided LightHandle. Values greater than zero effectively make it a spherical light.
 
virtual void SetShadowsEnabled (LightHandle handle, bool enabled)=0
 Sets if shadows are enabled.
 
virtual void SetShadowmapMaxResolution (LightHandle handle, ShadowmapSize shadowmapSize)=0
 Sets the shadowmap size (width and height) of the light.
 
virtual void SetShadowBias (LightHandle handle, float bias)=0
 Sets the shadow bias.
 
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 SetNormalShadowBias (LightHandle handle, float bias)=0
 Sets the normal shadow bias. Reduces acne by biasing the shadowmap lookup along the geometric normal.
 
virtual void SetPointData (LightHandle handle, const PointLightData &data)=0
 Sets all of the the point data for the provided LightHandle.
 
- Public Member Functions inherited from AZ::RPI::FeatureProcessor
 AZ_RTTI (FeatureProcessor, "{B8027170-C65C-4237-964D-B557FC9D7575}")
 
 AZ_CLASS_ALLOCATOR (FeatureProcessor, AZ::SystemAllocator, 0)
 
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 *)
 Apply changes and add additional render passes to the render pipeline from the feature processors.
 
virtual void PrepareViews (const PrepareViewsPacket &, AZStd::vector< AZStd::pair< PipelineViewTag, ViewPtr >> &)
 
virtual void Simulate (const SimulatePacket &)
 
virtual void Render (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

PointLightFeatureProcessorInterface provides an interface to acquire, release, and update a point light.

Member Function Documentation

◆ AcquireLight()

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

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


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