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

#include <DiskLightFeatureProcessorInterface.h>

Inherits AZ::RPI::FeatureProcessor.

Inherited by AZ::Render::DiskLightFeatureProcessor.

Public Types

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

Public Member Functions

 AZ_RTTI (AZ::Render::DiskLightFeatureProcessorInterface,"{A78A8FBD-1494-4EF9-9C05-AF153FDB1F17}", AZ::RPI::FeatureProcessor)
virtual LightHandle AcquireLight ()=0
 Creates a new disk 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 disk 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 SetDirection (LightHandle handle, const AZ::Vector3 &lightDirection)=0
 Sets the direction 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 SetDiskRadius (LightHandle handle, float radius)=0
 Sets the disk radius for the provided LightHandle.
virtual void SetConstrainToConeLight (LightHandle handle, bool useCone)=0
 Sets whether the disk should constrain its light to a cone. (use SetInnerConeAngle and SetOuterConeAngle to set cone angle parameters)
virtual void SetConeAngles (LightHandle handle, float innerRadians, float outerRadians)=0
 Sets the inner and outer cone angles in radians.
virtual void SetShadowsEnabled (LightHandle handle, bool enabled)=0
 Sets if shadows are enabled.
virtual void SetShadowBias (LightHandle handle, float bias)=0
 Sets the shadow bias.
virtual void SetNormalShadowBias (LightHandle handle, float bias)=0
 Sets the normal shadow bias.
virtual void SetShadowmapMaxResolution (LightHandle handle, ShadowmapSize shadowmapSize)=0
 Sets the shadowmap size (width and height) of the light.
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 SetUseCachedShadows (LightHandle handle, bool useCachedShadows)=0
 Sets if this shadow should be rendered every frame (not cached) or only when it detects a change (cached).
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 SetDiskData (LightHandle handle, const DiskLightData &data)=0
 Sets all of the the disk data for the provided LightHandle.
virtual const DiskLightDataGetDiskData (LightHandle handle) const =0
 Get a read only copy of a disk lights data, useful for debug rendering.
- 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::Candela

Additional Inherited Members

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

Detailed Description

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

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