Open 3D Engine DiffuseProbeGrid 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::DiffuseProbeGridFeatureProcessor Class Referencefinal

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

#include <DiffuseProbeGridFeatureProcessor.h>

Inherits AZ::Render::DiffuseProbeGridFeatureProcessorInterface, and 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
 
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
 
- 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.


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