Open 3D Engine Atom Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Render::ReflectionProbeFeatureProcessor Class Referencefinal

Inherits AZ::Render::ReflectionProbeFeatureProcessorInterface, and AZ::Data::AssetBus::MultiHandler.

Public Member Functions

 AZ_RTTI (AZ::Render::ReflectionProbeFeatureProcessor, "{A08C591F-D2AB-4550-852A-4436533DB137}", AZ::Render::ReflectionProbeFeatureProcessorInterface)
 
ReflectionProbeHandle AddReflectionProbe (const AZ::Transform &transform, bool useParallaxCorrection) override
 Add a new reflection probe, returns the handle of the new probe.
 
void RemoveReflectionProbe (ReflectionProbeHandle &handle) override
 Remove an existing reflection probe.
 
bool IsValidHandle (const ReflectionProbeHandle &handle) const override
 Check to see if a reflection probe handle is valid.
 
void SetOuterExtents (const ReflectionProbeHandle &handle, const AZ::Vector3 &outerExtents) override
 Set or retrieve outer extents.
 
AZ::Vector3 GetOuterExtents (const ReflectionProbeHandle &handle) const override
 
void SetInnerExtents (const ReflectionProbeHandle &handle, const AZ::Vector3 &innerExtents) override
 Set or retrieve inner extents.
 
AZ::Vector3 GetInnerExtents (const ReflectionProbeHandle &handle) const override
 
AZ::Obb GetOuterObbWs (const ReflectionProbeHandle &handle) const override
 Retrieve outer OBB.
 
AZ::Obb GetInnerObbWs (const ReflectionProbeHandle &handle) const override
 Retrieve inner OBB.
 
void SetTransform (const ReflectionProbeHandle &handle, const AZ::Transform &transform) override
 Set or retrieve transform.
 
AZ::Transform GetTransform (const ReflectionProbeHandle &handle) const override
 
void SetCubeMap (const ReflectionProbeHandle &handle, Data::Instance< RPI::Image > &cubeMapImage, const AZStd::string &relativePath) override
 Set or retrieve cubemap.
 
Data::Instance< RPI::ImageGetCubeMap (const ReflectionProbeHandle &handle) const override
 
void SetRenderExposure (const ReflectionProbeHandle &handle, float renderExposure) override
 Set or retrieve render exposure.
 
float GetRenderExposure (const ReflectionProbeHandle &handle) const override
 
void SetBakeExposure (const ReflectionProbeHandle &handle, float bakeExposure) override
 Set or retrieve bake exposure.
 
float GetBakeExposure (const ReflectionProbeHandle &handle) const override
 
bool GetUseParallaxCorrection (const ReflectionProbeHandle &handle) const override
 Retrieve parallax correction setting.
 
void Bake (const ReflectionProbeHandle &handle, BuildCubeMapCallback callback, const AZStd::string &relativePath) override
 Bake a reflection cubemap.
 
bool CheckCubeMapAssetNotification (const AZStd::string &relativePath, Data::Asset< RPI::StreamingImageAsset > &outCubeMapAsset, CubeMapAssetNotificationType &outNotificationType) override
 
bool IsCubeMapReferenced (const AZStd::string &relativePath) override
 Check to see if a cubemap is referenced by any reflection probes.
 
void ShowVisualization (const ReflectionProbeHandle &handle, bool showVisualization) override
 Show or Hide visualization sphere.
 
void FindReflectionProbes (const AZ::Vector3 &position, ReflectionProbeHandleVector &reflectionProbeHandles) override
 
void FindReflectionProbes (const AZ::Aabb &aabb, ReflectionProbeHandleVector &reflectionProbeHandles) override
 
void Activate () override
 Perform any necessary activation and gives access to owning Scene.
 
void Deactivate () override
 Perform any necessary deactivation.
 
void Simulate (const FeatureProcessor::SimulatePacket &packet) override
 
void OnRenderEnd () override
 
- Public Member Functions inherited from AZ::Render::ReflectionProbeFeatureProcessorInterface
 AZ_RTTI (AZ::Render::ReflectionProbeFeatureProcessorInterface, "{805FA0F8-765A-4072-A8B1-41C4708B6E36}", AZ::RPI::FeatureProcessor)
 
virtual ReflectionProbeHandle AddReflectionProbe (const AZ::Transform &transform, bool useParallaxCorrection)=0
 Add a new reflection probe, returns the handle of the new probe.
 
virtual void RemoveReflectionProbe (ReflectionProbeHandle &handle)=0
 Remove an existing reflection probe.
 
virtual bool IsValidHandle (const ReflectionProbeHandle &handle) const =0
 Check to see if a reflection probe handle is valid.
 
virtual void SetOuterExtents (const ReflectionProbeHandle &handle, const AZ::Vector3 &outerExtents)=0
 Set or retrieve outer extents.
 
virtual AZ::Vector3 GetOuterExtents (const ReflectionProbeHandle &handle) const =0
 
virtual void SetInnerExtents (const ReflectionProbeHandle &handle, const AZ::Vector3 &innerExtents)=0
 Set or retrieve inner extents.
 
virtual AZ::Vector3 GetInnerExtents (const ReflectionProbeHandle &handle) const =0
 
virtual AZ::Obb GetOuterObbWs (const ReflectionProbeHandle &handle) const =0
 Retrieve outer OBB.
 
virtual AZ::Obb GetInnerObbWs (const ReflectionProbeHandle &handle) const =0
 Retrieve inner OBB.
 
virtual void SetTransform (const ReflectionProbeHandle &handle, const AZ::Transform &transform)=0
 Set or retrieve transform.
 
virtual AZ::Transform GetTransform (const ReflectionProbeHandle &handle) const =0
 
virtual void SetCubeMap (const ReflectionProbeHandle &handle, Data::Instance< RPI::Image > &cubeMapImage, const AZStd::string &relativePath)=0
 Set or retrieve cubemap.
 
virtual Data::Instance< RPI::ImageGetCubeMap (const ReflectionProbeHandle &handle) const =0
 
virtual void SetRenderExposure (const ReflectionProbeHandle &handle, float renderExposure)=0
 Set or retrieve render exposure.
 
virtual float GetRenderExposure (const ReflectionProbeHandle &handle) const =0
 
virtual void SetBakeExposure (const ReflectionProbeHandle &handle, float bakeExposure)=0
 Set or retrieve bake exposure.
 
virtual float GetBakeExposure (const ReflectionProbeHandle &handle) const =0
 
virtual bool GetUseParallaxCorrection (const ReflectionProbeHandle &handle) const =0
 Retrieve parallax correction setting.
 
virtual void ShowVisualization (const ReflectionProbeHandle &handle, bool showVisualization)=0
 Show or Hide visualization sphere.
 
virtual void Bake (const ReflectionProbeHandle &handle, BuildCubeMapCallback callback, const AZStd::string &relativePath)=0
 Bake a reflection cubemap.
 
virtual bool CheckCubeMapAssetNotification (const AZStd::string &relativePath, Data::Asset< RPI::StreamingImageAsset > &outCubeMapAsset, CubeMapAssetNotificationType &outNotificationType)=0
 
virtual bool IsCubeMapReferenced (const AZStd::string &relativePath)=0
 Check to see if a cubemap is referenced by any reflection probes.
 
virtual void FindReflectionProbes (const AZ::Vector3 &position, ReflectionProbeHandleVector &reflectionProbeHandles)=0
 
virtual void FindReflectionProbes (const AZ::Aabb &aabb, ReflectionProbeHandleVector &reflectionProbeHandles)=0
 
- 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 (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 Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Additional Inherited Members

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

Member Function Documentation

◆ Activate()

void AZ::Render::ReflectionProbeFeatureProcessor::Activate ( )
overridevirtual

Perform any necessary activation and gives access to owning Scene.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ AddReflectionProbe()

ReflectionProbeHandle AZ::Render::ReflectionProbeFeatureProcessor::AddReflectionProbe ( const AZ::Transform &  transform,
bool  useParallaxCorrection 
)
overridevirtual

Add a new reflection probe, returns the handle of the new probe.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ Bake()

void AZ::Render::ReflectionProbeFeatureProcessor::Bake ( const ReflectionProbeHandle &  handle,
BuildCubeMapCallback  callback,
const AZStd::string &  relativePath 
)
overridevirtual

Bake a reflection cubemap.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ CheckCubeMapAssetNotification()

bool AZ::Render::ReflectionProbeFeatureProcessor::CheckCubeMapAssetNotification ( const AZStd::string &  relativePath,
Data::Asset< RPI::StreamingImageAsset > &  outCubeMapAsset,
CubeMapAssetNotificationType &  outNotificationType 
)
overridevirtual

Check the status of a cubemap bake Note: For new cubemap bakes only, re-bakes of an existing cubemap are automatically hot-reloaded by the RPI

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ Deactivate()

void AZ::Render::ReflectionProbeFeatureProcessor::Deactivate ( )
overridevirtual

Perform any necessary deactivation.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ FindReflectionProbes() [1/2]

void AZ::Render::ReflectionProbeFeatureProcessor::FindReflectionProbes ( const AZ::Aabb &  aabb,
ReflectionProbeHandleVector &  reflectionProbeHandles 
)
overridevirtual

Find all reflection probes that overlap the specified AABB Note: result list is sorted by descending inner volume size

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ FindReflectionProbes() [2/2]

void AZ::Render::ReflectionProbeFeatureProcessor::FindReflectionProbes ( const AZ::Vector3 &  position,
ReflectionProbeHandleVector &  reflectionProbeHandles 
)
overridevirtual

Find all reflection probes that overlap the specified position Note: result list is sorted by descending inner volume size

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ GetBakeExposure()

float AZ::Render::ReflectionProbeFeatureProcessor::GetBakeExposure ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetCubeMap()

Data::Instance< RPI::Image > AZ::Render::ReflectionProbeFeatureProcessor::GetCubeMap ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetInnerExtents()

AZ::Vector3 AZ::Render::ReflectionProbeFeatureProcessor::GetInnerExtents ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetInnerObbWs()

AZ::Obb AZ::Render::ReflectionProbeFeatureProcessor::GetInnerObbWs ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetOuterExtents()

AZ::Vector3 AZ::Render::ReflectionProbeFeatureProcessor::GetOuterExtents ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetOuterObbWs()

AZ::Obb AZ::Render::ReflectionProbeFeatureProcessor::GetOuterObbWs ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetRenderExposure()

float AZ::Render::ReflectionProbeFeatureProcessor::GetRenderExposure ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetTransform()

AZ::Transform AZ::Render::ReflectionProbeFeatureProcessor::GetTransform ( const ReflectionProbeHandle &  handle) const
overridevirtual

◆ GetUseParallaxCorrection()

bool AZ::Render::ReflectionProbeFeatureProcessor::GetUseParallaxCorrection ( const ReflectionProbeHandle &  handle) const
overridevirtual

Retrieve parallax correction setting.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ IsCubeMapReferenced()

bool AZ::Render::ReflectionProbeFeatureProcessor::IsCubeMapReferenced ( const AZStd::string &  relativePath)
overridevirtual

Check to see if a cubemap is referenced by any reflection probes.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ IsValidHandle()

bool AZ::Render::ReflectionProbeFeatureProcessor::IsValidHandle ( const ReflectionProbeHandle &  handle) const
inlineoverridevirtual

Check to see if a reflection probe handle is valid.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ OnRenderEnd()

void AZ::Render::ReflectionProbeFeatureProcessor::OnRenderEnd ( )
overridevirtual

The feature processor may do clean up when the current render frame is finished

  • This is called every RPI::RenderTick.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ RemoveReflectionProbe()

void AZ::Render::ReflectionProbeFeatureProcessor::RemoveReflectionProbe ( ReflectionProbeHandle &  handle)
overridevirtual

Remove an existing reflection probe.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ SetBakeExposure()

void AZ::Render::ReflectionProbeFeatureProcessor::SetBakeExposure ( const ReflectionProbeHandle &  handle,
float  bakeExposure 
)
overridevirtual

Set or retrieve bake exposure.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ SetCubeMap()

void AZ::Render::ReflectionProbeFeatureProcessor::SetCubeMap ( const ReflectionProbeHandle &  handle,
Data::Instance< RPI::Image > &  cubeMapImage,
const AZStd::string &  relativePath 
)
overridevirtual

Set or retrieve cubemap.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ SetInnerExtents()

void AZ::Render::ReflectionProbeFeatureProcessor::SetInnerExtents ( const ReflectionProbeHandle &  handle,
const AZ::Vector3 &  innerExtents 
)
overridevirtual

Set or retrieve inner extents.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ SetOuterExtents()

void AZ::Render::ReflectionProbeFeatureProcessor::SetOuterExtents ( const ReflectionProbeHandle &  handle,
const AZ::Vector3 &  outerExtents 
)
overridevirtual

Set or retrieve outer extents.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ SetRenderExposure()

void AZ::Render::ReflectionProbeFeatureProcessor::SetRenderExposure ( const ReflectionProbeHandle &  handle,
float  renderExposure 
)
overridevirtual

Set or retrieve render exposure.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ SetTransform()

void AZ::Render::ReflectionProbeFeatureProcessor::SetTransform ( const ReflectionProbeHandle &  handle,
const AZ::Transform &  transform 
)
overridevirtual

Set or retrieve transform.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.

◆ ShowVisualization()

void AZ::Render::ReflectionProbeFeatureProcessor::ShowVisualization ( const ReflectionProbeHandle &  handle,
bool  showVisualization 
)
overridevirtual

Show or Hide visualization sphere.

Implements AZ::Render::ReflectionProbeFeatureProcessorInterface.


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