#include <QuadLightFeatureProcessorInterface.h>
Inherits AZ::RPI::FeatureProcessor.
Inherited by AZ::Render::QuadLightFeatureProcessor.
Public Types | |
| using | LightHandle = RHI::Handle< uint16_t, class QuadLight > |
Public Member Functions | |
| AZ_RTTI (AZ::Render::QuadLightFeatureProcessorInterface, "{D86216E4-92A8-43BE-A5E4-883489C6AF06}", AZ::RPI::FeatureProcessor) | |
| virtual LightHandle | AcquireLight ()=0 |
| Creates a new quad 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 quad 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 | SetOrientation (LightHandle handle, const AZ::Quaternion &lightOrientation)=0 |
| Sets the direction for a given LightHandle. | |
| virtual void | SetLightEmitsBothDirections (LightHandle handle, bool lightEmitsBothDirections)=0 |
| Sets if the quad light emits light in both directions for a given LightHandle. | |
| virtual void | SetUseFastApproximation (LightHandle handle, bool useFastApproximation)=0 |
| Sets whether to use a fast approximation instead of the default high quality linearly transformed cosine lighting. | |
| 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 | SetQuadDimensions (LightHandle handle, float width, float height)=0 |
| Sets the quad radius for the provided LightHandle. | |
| virtual void | SetAffectsGI (LightHandle handle, bool affectsGI)=0 |
| Specifies if this light affects the diffuse global illumination in the scene. | |
| virtual void | SetAffectsGIFactor (LightHandle handle, float affectsGIFactor)=0 |
| Specifies the contribution of this light to the diffuse global illumination in the scene. | |
| virtual void | SetLightingChannelMask (LightHandle handle, uint32_t lightingChannelMask)=0 |
| Sets the lighting channel mask. | |
| virtual void | SetQuadData (LightHandle handle, const QuadLightData &data)=0 |
| Sets all of the the quad data for the provided LightHandle. | |
| virtual const Data::Instance< RPI::Buffer > | GetLightBuffer () const =0 |
| Returns the buffer containing the light data for all quad lights. | |
| virtual uint32_t | GetLightCount () const =0 |
| Returns the number of quad lights. | |
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 () |
QuadLightFeatureProcessorInterface provides an interface to acquire, release, and update a quad light. This is necessary for code outside of the Atom features gem to communicate with the QuadLightFeatureProcessor.
|
pure virtual |
Creates a new quad light which can be referenced by the returned LightHandle. Must be released via ReleaseLight() when no longer needed.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Creates a new LightHandle by copying data from an existing LightHandle.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Returns the buffer containing the light data for all quad lights.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Returns the number of quad lights.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Releases a LightHandle which removes the quad light.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Specifies if this light affects the diffuse global illumination in the scene.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Specifies the contribution of this light to the diffuse global illumination in the scene.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets the radius in meters at which the provided LightHandle will no longer have an effect.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets if the quad light emits light in both directions for a given LightHandle.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets the lighting channel mask.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets the direction for a given LightHandle.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets the position for a given LightHandle.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets all of the the quad data for the provided LightHandle.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets the quad radius for the provided LightHandle.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets the intensity in RGB candela for a given LightHandle.
Implemented in AZ::Render::QuadLightFeatureProcessor.
|
pure virtual |
Sets whether to use a fast approximation instead of the default high quality linearly transformed cosine lighting.
Implemented in AZ::Render::QuadLightFeatureProcessor.