Open 3D Engine DiffuseProbeGrid Gem API Reference 26.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::DiffuseProbeGridFeatureProcessor Class Referencefinal

This class manages DiffuseProbeGrids which generate diffuse global illumination. More...

#include <DiffuseProbeGridFeatureProcessor.h>

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

Public Types

using DiffuseProbeGridVector = AZStd::vector< AZStd::shared_ptr< DiffuseProbeGrid > >
 

Public Member Functions

 AZ_RTTI (AZ::Render::DiffuseProbeGridFeatureProcessor, "{BCD232F9-1EBF-4D0D-A5F4-84AEC933A93C}", AZ::Render::DiffuseProbeGridFeatureProcessorInterface)
 
DiffuseProbeGridHandle AddProbeGrid (const AZ::Transform &transform, const AZ::Vector3 &extents, const AZ::Vector3 &probeSpacing) override
 
void RemoveProbeGrid (DiffuseProbeGridHandle &probeGrid) override
 
bool IsValidProbeGridHandle (const DiffuseProbeGridHandle &probeGrid) const override
 
bool ValidateExtents (const DiffuseProbeGridHandle &probeGrid, const AZ::Vector3 &newExtents) override
 
void SetExtents (const DiffuseProbeGridHandle &probeGrid, const AZ::Vector3 &extents) override
 
void SetTransform (const DiffuseProbeGridHandle &probeGrid, const AZ::Transform &transform) override
 
bool ValidateProbeSpacing (const DiffuseProbeGridHandle &probeGrid, const AZ::Vector3 &newSpacing) override
 
void SetProbeSpacing (const DiffuseProbeGridHandle &probeGrid, const AZ::Vector3 &probeSpacing) override
 
void SetViewBias (const DiffuseProbeGridHandle &probeGrid, float viewBias) override
 
void SetNormalBias (const DiffuseProbeGridHandle &probeGrid, float normalBias) override
 
void SetNumRaysPerProbe (const DiffuseProbeGridHandle &probeGrid, DiffuseProbeGridNumRaysPerProbe numRaysPerProbe) override
 
void SetAmbientMultiplier (const DiffuseProbeGridHandle &probeGrid, float ambientMultiplier) override
 
void Enable (const DiffuseProbeGridHandle &probeGrid, bool enable) override
 
void SetGIShadows (const DiffuseProbeGridHandle &probeGrid, bool giShadows) override
 
void SetUseDiffuseIbl (const DiffuseProbeGridHandle &probeGrid, bool useDiffuseIbl) override
 
void SetMode (const DiffuseProbeGridHandle &probeGrid, DiffuseProbeGridMode mode) override
 
void SetScrolling (const DiffuseProbeGridHandle &probeGrid, bool scrolling) override
 
void SetEdgeBlendIbl (const DiffuseProbeGridHandle &probeGrid, bool edgeBlendIbl) override
 
void SetFrameUpdateCount (const DiffuseProbeGridHandle &probeGrid, uint32_t frameUpdateCount) override
 
void SetTransparencyMode (const DiffuseProbeGridHandle &probeGrid, DiffuseProbeGridTransparencyMode transparencyMode) override
 
void SetEmissiveMultiplier (const DiffuseProbeGridHandle &probeGrid, float emissiveMultiplier) override
 
void SetBakedTextures (const DiffuseProbeGridHandle &probeGrid, const DiffuseProbeGridBakedTextures &bakedTextures) override
 
void SetVisualizationEnabled (const DiffuseProbeGridHandle &probeGrid, bool visualizationEnabled) override
 
void SetVisualizationShowInactiveProbes (const DiffuseProbeGridHandle &probeGrid, bool visualizationShowInactiveProbes) override
 
void SetVisualizationSphereRadius (const DiffuseProbeGridHandle &probeGrid, float visualizationSphereRadius) override
 
bool CanBakeTextures () override
 
void BakeTextures (const DiffuseProbeGridHandle &probeGrid, DiffuseProbeGridBakeTexturesCallback callback, const AZStd::string &irradianceTextureRelativePath, const AZStd::string &distanceTextureRelativePath, const AZStd::string &probeDataTextureRelativePath) override
 
bool CheckTextureAssetNotification (const AZStd::string &relativePath, Data::Asset< RPI::StreamingImageAsset > &outTextureAsset, DiffuseProbeGridTextureNotificationType &outNotificationType) override
 
bool AreBakedTexturesReferenced (const AZStd::string &irradianceTextureRelativePath, const AZStd::string &distanceTextureRelativePath, const AZStd::string &probeDataTextureRelativePath) override
 
void Activate () override
 
void Deactivate () override
 
void Simulate (const FeatureProcessor::SimulatePacket &packet) override
 
DiffuseProbeGridVector & GetProbeGrids ()
 
DiffuseProbeGridVector & GetRealTimeProbeGrids ()
 
DiffuseProbeGridVector & GetVisibleProbeGrids ()
 
DiffuseProbeGridVector & GetVisibleRealTimeProbeGrids ()
 
RHI::RayTracingBufferPools & GetVisualizationBufferPools ()
 
const RHI::Ptr< RHI::RayTracingBlas > & GetVisualizationBlas () const
 
RHI::Ptr< RHI::RayTracingBlas > & GetVisualizationBlas ()
 
uint32_t AddIrradianceQuery (const AZ::Vector3 &position, const AZ::Vector3 &direction)
 
void ClearIrradianceQueries ()
 
uint32_t GetIrradianceQueryCount () const
 
const Data::Instance< RPI::Buffer > & GetQueryBuffer () const
 
const RHI::AttachmentId GetQueryBufferAttachmentId () const
 
const RHI::BufferViewDescriptor & GetQueryBufferViewDescriptor () const
 
RPI::ShaderResourceGroup * GetSceneSrg () const
 
RPI::ShaderResourceGroup * GetViewSrg (RPI::RenderPipeline *pipeline, RPI::PipelineViewTag viewTag) const
 
- Public Member Functions inherited from AZ::Render::DiffuseProbeGridFeatureProcessorInterface
 AZ_RTTI (AZ::Render::DiffuseProbeGridFeatureProcessorInterface, "{6EF4F226-D473-4D50-8884-D407E4D145F4}", AZ::RPI::FeatureProcessor)
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Detailed Description

This class manages DiffuseProbeGrids which generate diffuse global illumination.

Member Function Documentation

◆ AddProbeGrid()

DiffuseProbeGridHandle AZ::Render::DiffuseProbeGridFeatureProcessor::AddProbeGrid ( const AZ::Transform &  transform,
const AZ::Vector3 &  extents,
const AZ::Vector3 &  probeSpacing 
)
overridevirtual

◆ AreBakedTexturesReferenced()

bool AZ::Render::DiffuseProbeGridFeatureProcessor::AreBakedTexturesReferenced ( const AZStd::string &  irradianceTextureRelativePath,
const AZStd::string &  distanceTextureRelativePath,
const AZStd::string &  probeDataTextureRelativePath 
)
overridevirtual

◆ BakeTextures()

void AZ::Render::DiffuseProbeGridFeatureProcessor::BakeTextures ( const DiffuseProbeGridHandle &  probeGrid,
DiffuseProbeGridBakeTexturesCallback  callback,
const AZStd::string &  irradianceTextureRelativePath,
const AZStd::string &  distanceTextureRelativePath,
const AZStd::string &  probeDataTextureRelativePath 
)
overridevirtual

◆ CanBakeTextures()

bool AZ::Render::DiffuseProbeGridFeatureProcessor::CanBakeTextures ( )
overridevirtual

◆ CheckTextureAssetNotification()

bool AZ::Render::DiffuseProbeGridFeatureProcessor::CheckTextureAssetNotification ( const AZStd::string &  relativePath,
Data::Asset< RPI::StreamingImageAsset > &  outTextureAsset,
DiffuseProbeGridTextureNotificationType &  outNotificationType 
)
overridevirtual

◆ Enable()

void AZ::Render::DiffuseProbeGridFeatureProcessor::Enable ( const DiffuseProbeGridHandle &  probeGrid,
bool  enable 
)
overridevirtual

◆ IsValidProbeGridHandle()

bool AZ::Render::DiffuseProbeGridFeatureProcessor::IsValidProbeGridHandle ( const DiffuseProbeGridHandle &  probeGrid) const
inlineoverridevirtual

◆ RemoveProbeGrid()

void AZ::Render::DiffuseProbeGridFeatureProcessor::RemoveProbeGrid ( DiffuseProbeGridHandle &  probeGrid)
overridevirtual

◆ SetAmbientMultiplier()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetAmbientMultiplier ( const DiffuseProbeGridHandle &  probeGrid,
float  ambientMultiplier 
)
overridevirtual

◆ SetBakedTextures()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetBakedTextures ( const DiffuseProbeGridHandle &  probeGrid,
const DiffuseProbeGridBakedTextures bakedTextures 
)
overridevirtual

◆ SetEdgeBlendIbl()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetEdgeBlendIbl ( const DiffuseProbeGridHandle &  probeGrid,
bool  edgeBlendIbl 
)
overridevirtual

◆ SetEmissiveMultiplier()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetEmissiveMultiplier ( const DiffuseProbeGridHandle &  probeGrid,
float  emissiveMultiplier 
)
overridevirtual

◆ SetExtents()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetExtents ( const DiffuseProbeGridHandle &  probeGrid,
const AZ::Vector3 &  extents 
)
overridevirtual

◆ SetFrameUpdateCount()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetFrameUpdateCount ( const DiffuseProbeGridHandle &  probeGrid,
uint32_t  frameUpdateCount 
)
overridevirtual

◆ SetGIShadows()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetGIShadows ( const DiffuseProbeGridHandle &  probeGrid,
bool  giShadows 
)
overridevirtual

◆ SetMode()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetMode ( const DiffuseProbeGridHandle &  probeGrid,
DiffuseProbeGridMode  mode 
)
overridevirtual

◆ SetNormalBias()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetNormalBias ( const DiffuseProbeGridHandle &  probeGrid,
float  normalBias 
)
overridevirtual

◆ SetNumRaysPerProbe()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetNumRaysPerProbe ( const DiffuseProbeGridHandle &  probeGrid,
DiffuseProbeGridNumRaysPerProbe  numRaysPerProbe 
)
overridevirtual

◆ SetProbeSpacing()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetProbeSpacing ( const DiffuseProbeGridHandle &  probeGrid,
const AZ::Vector3 &  probeSpacing 
)
overridevirtual

◆ SetScrolling()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetScrolling ( const DiffuseProbeGridHandle &  probeGrid,
bool  scrolling 
)
overridevirtual

◆ SetTransform()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetTransform ( const DiffuseProbeGridHandle &  probeGrid,
const AZ::Transform &  transform 
)
overridevirtual

◆ SetTransparencyMode()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetTransparencyMode ( const DiffuseProbeGridHandle &  probeGrid,
DiffuseProbeGridTransparencyMode  transparencyMode 
)
overridevirtual

◆ SetUseDiffuseIbl()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetUseDiffuseIbl ( const DiffuseProbeGridHandle &  probeGrid,
bool  useDiffuseIbl 
)
overridevirtual

◆ SetViewBias()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetViewBias ( const DiffuseProbeGridHandle &  probeGrid,
float  viewBias 
)
overridevirtual

◆ SetVisualizationEnabled()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetVisualizationEnabled ( const DiffuseProbeGridHandle &  probeGrid,
bool  visualizationEnabled 
)
overridevirtual

◆ SetVisualizationShowInactiveProbes()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetVisualizationShowInactiveProbes ( const DiffuseProbeGridHandle &  probeGrid,
bool  visualizationShowInactiveProbes 
)
overridevirtual

◆ SetVisualizationSphereRadius()

void AZ::Render::DiffuseProbeGridFeatureProcessor::SetVisualizationSphereRadius ( const DiffuseProbeGridHandle &  probeGrid,
float  visualizationSphereRadius 
)
overridevirtual

◆ ValidateExtents()

bool AZ::Render::DiffuseProbeGridFeatureProcessor::ValidateExtents ( const DiffuseProbeGridHandle &  probeGrid,
const AZ::Vector3 &  newExtents 
)
overridevirtual

◆ ValidateProbeSpacing()

bool AZ::Render::DiffuseProbeGridFeatureProcessor::ValidateProbeSpacing ( const DiffuseProbeGridHandle &  probeGrid,
const AZ::Vector3 &  newSpacing 
)
overridevirtual

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