#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) | |
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::Nit |
Additional Inherited Members | |
Protected Member Functions inherited from AZ::RPI::FeatureProcessor | |
void | EnableSceneNotification () |
void | DisableSceneNotification () |
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.
|
pure virtual |
Creates a new Polygon light which can be referenced by the returned LightHandle. Must be released via ReleaseLight() when no longer needed.
Implemented in AZ::Render::PolygonLightFeatureProcessor.
|
pure virtual |
Creates a new LightHandle by copying data from an existing LightHandle.
Implemented in AZ::Render::PolygonLightFeatureProcessor.
|
pure virtual |
Releases a LightHandle which removes the Polygon light.
Implemented in AZ::Render::PolygonLightFeatureProcessor.
|
pure virtual |
Sets the radius in meters at which the provided LightHandle will no longer have an effect.
Implemented in AZ::Render::PolygonLightFeatureProcessor.
|
pure virtual |
Sets if the light is emitted from both directions for a given LightHandle.
Implemented in AZ::Render::PolygonLightFeatureProcessor.
|
pure virtual |
Sets the polygon's world space positions for a given LightHandle.
Implemented in AZ::Render::PolygonLightFeatureProcessor.
|
pure virtual |
Sets the position for a given LightHandle.
Implemented in AZ::Render::PolygonLightFeatureProcessor.
|
pure virtual |
Sets the intensity in RGB nits for a given LightHandle.
Implemented in AZ::Render::PolygonLightFeatureProcessor.