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::PolygonLightFeatureProcessorInterface Class Referenceabstract

#include <PolygonLightFeatureProcessorInterface.h>

Inherits AZ::RPI::FeatureProcessor.

Inherited by AZ::Render::PolygonLightFeatureProcessor.

Public Types

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

Public Member Functions

 AZ_RTTI (AZ::Render::PolygonLightFeatureProcessorInterface,"{FB21684B-5752-4943-9D44-C81EB0C0991B}", AZ::RPI::FeatureProcessor)
 
virtual LightHandle AcquireLight ()=0
 Creates a new Polygon 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 Polygon light.
 
virtual LightHandle CloneLight (LightHandle handle)=0
 Creates a new LightHandle by copying data from an existing LightHandle.
 
virtual void SetPosition (LightHandle handle, const AZ::Vector3 &position)=0
 Sets the position for a given LightHandle.
 
virtual void SetRgbIntensity (LightHandle handle, const PhotometricColor< PhotometricUnitType > &lightColor)=0
 Sets the intensity in RGB nits for a given LightHandle.
 
virtual void SetPolygonPoints (LightHandle handle, const Vector3 *vectices, const uint32_t vertexCount, const Vector3 &direction)=0
 Sets the polygon's world space positions for a given LightHandle.
 
virtual void SetLightEmitsBothDirections (LightHandle handle, bool lightEmitsBothDirections)=0
 Sets if the light is emitted from both directions 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.
 
- 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 ([[maybe_unused]] RenderPipeline *pipeline)
 
virtual void AddRenderPasses ([[maybe_unused]] 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 OnRenderEnd ()
 

Static Public Attributes

static constexpr PhotometricUnit PhotometricUnitType = PhotometricUnit::Nit
 

Additional Inherited Members

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

Detailed Description

PolygonLightFeatureProcessorInterface provides an interface to acquire, release, and update a Polygon light. This is necessary for code outside of the Atom features gem to communicate with the PolygonLightFeatureProcessor.


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