ezEngine Release 26.9
Loading...
Searching...
No Matches
ezAOPass Class Reference

#include <AOPass.h>

Inheritance diagram for ezAOPass:

Public Member Functions

virtual ezStatus AddRenderPasses (const ezViewData &viewData, const ezCamera &camera, ezRenderGraph &ref_graph, const ezArrayPtr< const ezRenderPipelinePinConnection > inputs, ezArrayPtr< ezRenderPipelinePinConnection > outputs) override
 Called by the render pipeline when this pass is active. The pass declares its render-graph passes and writes the resulting transient handles into the outputs array.
 
virtual ezStatus AddRenderPassesInactive (const ezViewData &viewData, const ezCamera &camera, ezRenderGraph &ref_graph, const ezArrayPtr< const ezRenderPipelinePinConnection > inputs, ezArrayPtr< ezRenderPipelinePinConnection > outputs) override
 Called by the render pipeline when this pass is inactive instead of AddRenderPasses. The default implementation does nothing; passes that produce outputs must override this and at minimum write the same output handles they would in AddRenderPasses (typically by adding a clear pass) so downstream passes still see a valid resource.
 
virtual ezResult Serialize (ezStreamWriter &inout_stream) const override
 
virtual ezResult Deserialize (ezStreamReader &inout_stream) override
 
void SetFadeOutStart (float fStart)
 
float GetFadeOutStart () const
 
void SetFadeOutEnd (float fEnd)
 
float GetFadeOutEnd () const
 
- Public Member Functions inherited from ezRenderPipelinePass
 ezRenderPipelinePass (const char *szName, bool bIsStereoAware=false)
 
void SetName (const char *szName)
 Sets the name of the pass.
 
const char * GetName () const
 returns the name of the pass.
 
EZ_ALWAYS_INLINE bool IsStereoAware () const
 True if the render pipeline pass can handle stereo cameras correctly.
 
virtual void ReadBackProperties (ezView *pView)
 Allows for the pass to write data back using ezView::SetRenderPassReadBackProperty. E.g. picking results etc.
 
void DeclareRendererDependenciesForCategory (ezRenderData::Category category, ezRenderGraph &ref_graph, ezRenderGraphPassBuilder &ref_passBuilder)
 
void RenderDataWithCategory (const ezRenderViewContext &renderViewContext, ezRenderData::Category category)
 
EZ_ALWAYS_INLINE ezRenderPipelineGetPipeline ()
 
EZ_ALWAYS_INLINE const ezRenderPipelineGetPipeline () const
 
virtual ezGALTextureHandle QueryTextureProvider (const ezRenderPipelineNodePin *pPin, const ezGALTextureCreationDescription &desc)
 
- Public Member Functions inherited from ezRenderPipelineNode
void InitializePins ()
 
ezHashedString GetPinName (const ezRenderPipelineNodePin *pPin) const
 
const ezRenderPipelineNodePinGetPinByName (ezTempHashedString sName) const
 
const ezArrayPtr< const ezRenderPipelineNodePin *const > GetInputPins () const
 
const ezArrayPtr< const ezRenderPipelineNodePin *const > GetOutputPins () const
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Member Functions

void CreateSamplerState ()
 
- Protected Member Functions inherited from ezRenderPipelinePass
void SetReadBackProperty (ezView *pView, ezStringView sPropertyName, const ezVariant &value)
 

Protected Attributes

ezRenderPipelineNodeInputPin m_PinDepthInput
 
ezRenderPipelineNodeOutputPin m_PinOutput
 
float m_fRadius = 1.0f
 
float m_fMaxScreenSpaceRadius = 1.0f
 
float m_fContrast = 2.0f
 
float m_fIntensity = 0.7f
 
float m_fFadeOutStart = 80.0f
 
float m_fFadeOutEnd = 100.0f
 
float m_fPositionBias = 5.0f
 
float m_fMipLevelScale = 10.0f
 
float m_fDepthBlurThreshold = 2.0f
 
ezConstantBufferStorageHandle m_hDownscaleConstantBuffer
 
ezConstantBufferStorageHandle m_hSSAOConstantBuffer
 
ezTexture2DResourceHandle m_hNoiseTexture
 
ezGALSamplerStateHandle m_hSSAOSamplerState
 
ezShaderResourceHandle m_hDownscaleShader
 
ezShaderResourceHandle m_hSSAOShader
 
ezShaderResourceHandle m_hBlurShader
 
ezRenderGraphTextureHandle m_hHzbTexture
 
ezTempHybridArray< ezVec2, 8 > m_HzbSizes
 
ezTempHybridArray< ezGALTextureRange, 8 > m_HzbResourceViews
 
ezRenderGraphTextureHandle m_hSSAOTemp
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

Detailed Description

Render pass that computes screen-space ambient occlusion (SSAO).

Generates an ambient occlusion texture from the depth buffer. The effect darkens areas where geometry is close together, simulating indirect lighting occlusion. Supports distance-based fade-out and various quality parameters.

Member Function Documentation

◆ AddRenderPasses()

ezStatus ezAOPass::AddRenderPasses ( const ezViewData viewData,
const ezCamera camera,
ezRenderGraph ref_graph,
const ezArrayPtr< const ezRenderPipelinePinConnection inputs,
ezArrayPtr< ezRenderPipelinePinConnection outputs 
)
overridevirtual

Called by the render pipeline when this pass is active. The pass declares its render-graph passes and writes the resulting transient handles into the outputs array.

Reimplemented from ezRenderPipelinePass.

◆ AddRenderPassesInactive()

ezStatus ezAOPass::AddRenderPassesInactive ( const ezViewData viewData,
const ezCamera camera,
ezRenderGraph ref_graph,
const ezArrayPtr< const ezRenderPipelinePinConnection inputs,
ezArrayPtr< ezRenderPipelinePinConnection outputs 
)
overridevirtual

Called by the render pipeline when this pass is inactive instead of AddRenderPasses. The default implementation does nothing; passes that produce outputs must override this and at minimum write the same output handles they would in AddRenderPasses (typically by adding a clear pass) so downstream passes still see a valid resource.

Reimplemented from ezRenderPipelinePass.

◆ Deserialize()

ezResult ezAOPass::Deserialize ( ezStreamReader inout_stream)
overridevirtual

Reimplemented from ezRenderPipelinePass.

◆ Serialize()

ezResult ezAOPass::Serialize ( ezStreamWriter inout_stream) const
overridevirtual

Reimplemented from ezRenderPipelinePass.


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