XII Release 0.1.0
Loading...
Searching...
No Matches
xiiAmbientOcclusionTemporalPass Class Referencefinal

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <AmbientOcclusionTemporalPass.h>

Inheritance diagram for xiiAmbientOcclusionTemporalPass:
[legend]

Public Member Functions

xiiResult Configure (const xiiVariantDictionary &properties) override
xiiBitflags< xiiRenderPipelineDeviceFeature > GetRequiredDeviceFeatures () const override
xiiResult BuildTemporalHistory (xiiRenderPipelinePassContext &context) override
xiiResult Build (xiiRenderPipelinePassContext &context) override
void InvalidateTemporalHistory () override
 Clears view-local history after camera cuts and configuration changes.
Public Member Functions inherited from xiiRenderPipelinePass
xiiResult GetProperties (xiiVariantDictionary &out_properties) const
virtual void GetPins (xiiDynamicArray< xiiRenderPipelinePin > &out_pins) const
xiiResult InitializePinBindings (xiiArrayPtr< const xiiRenderPipelinePin > pins) const
xiiResult GetConfiguredPins (xiiDynamicArray< xiiRenderPipelinePin > &out_pins, xiiStringBuilder *out_error=nullptr) const
xiiResult GetConfiguredPins (xiiArrayPtr< const xiiRenderPipelinePin > declarations, xiiDynamicArray< xiiRenderPipelinePin > &out_pins, xiiStringBuilder *out_error=nullptr) const
 Apply the same authored contracts to declarations resolved by an external authoring context.
virtual xiiBitflags< xiiRenderExtractionCategory > GetExtractionRequirements () const
virtual xiiBitflags< xiiRenderPipelineFeature > GetRuntimeFeatures () const
virtual xiiResult ValidatePipeline (const xiiRenderPipelineResourceDescriptor &, xiiArrayPtr< const xiiUInt32 >, xiiUInt32, xiiStringBuilder *) const
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.

Public Attributes

xiiRenderPipelineTextureInputPin m_Raw {xiiGALResourceFormat::R8UNormalized, false, xiiGALBindFlags::ShaderResource, xiiGALResourceDimension::Texture2D, 1}
xiiRenderPipelineTextureInputPin m_Depth {xiiGALResourceFormat::Unknown, false, xiiGALBindFlags::ShaderResource, xiiGALResourceDimension::Texture2D, 1}
xiiRenderPipelineTextureInputPin m_Normal {xiiGALResourceFormat::Unknown, false, xiiGALBindFlags::ShaderResource, xiiGALResourceDimension::Texture2D, 1}
xiiRenderPipelineTextureInputPin m_Velocity {xiiGALResourceFormat::Unknown, false, xiiGALBindFlags::ShaderResource, xiiGALResourceDimension::Texture2D, 1}
xiiRenderPipelineBufferInputPin m_Camera {false, xiiGALBindFlags::UniformBuffer}
xiiRenderPipelineBufferInputPin m_Global {false, xiiGALBindFlags::UniformBuffer}
xiiRenderPipelineTextureOutputPin m_Output {xiiGALResourceFormat::R8UNormalized, false, xiiGALBindFlags::ShaderResource | xiiGALBindFlags::UnorderedAccess, xiiGALResourceDimension::Texture2D, 1}
xiiRenderPipelineTextureOutputPin m_Previous {xiiGALResourceFormat::R8UNormalized, true, xiiGALBindFlags::ShaderResource, xiiGALResourceDimension::Texture2D, 1, xiiRenderPipelinePinAccess::Read, true}
xiiRenderPipelineTextureOutputPin m_Surface {xiiGALResourceFormat::RGBA16Float, false, xiiGALBindFlags::ShaderResource | xiiGALBindFlags::UnorderedAccess, xiiGALResourceDimension::Texture2D, 1}
float m_fHistoryWeight = 0.92f
float m_fDepthThreshold = 0.08f
float m_fNormalThreshold = 0.82f
float m_fSpatialWeight = 0.35f
Public Attributes inherited from xiiRenderPipelinePass
xiiVariantDictionary m_ParameterOverrides
 Authored, occurrence-local parameter overrides. Kept separate from compile-time pass properties.
xiiDynamicArray< xiiRenderPipelinePinConfiguration * > m_PinConfigurations
 Authoring-only owned objects. Runtime pass instances consume compiled pins instead.

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

Motion-aware ambient visibility filtering with occurrence-local mask and surface history.

Member Function Documentation

◆ Build()

xiiResult xiiAmbientOcclusionTemporalPass::Build ( xiiRenderPipelinePassContext & context)
overridevirtual

Implements xiiRenderPipelinePass.

◆ BuildTemporalHistory()

xiiResult xiiAmbientOcclusionTemporalPass::BuildTemporalHistory ( xiiRenderPipelinePassContext & )
overridevirtual

Publish only previous-frame temporal outputs, without reading current-frame inputs. Optional history may be absent on the first frame. Promote it only after successful execution, and discard it in InvalidateTemporalHistory after a failed frame or camera cut.

Reimplemented from xiiRenderPipelinePass.

◆ Configure()

xiiResult xiiAmbientOcclusionTemporalPass::Configure ( const xiiVariantDictionary & properties)
overridevirtual

Reimplemented from xiiRenderPipelinePass.

◆ GetRequiredDeviceFeatures()

xiiBitflags< xiiRenderPipelineDeviceFeature > xiiAmbientOcclusionTemporalPass::GetRequiredDeviceFeatures ( ) const
inlineoverridevirtual

Reimplemented from xiiRenderPipelinePass.

◆ InvalidateTemporalHistory()

void xiiAmbientOcclusionTemporalPass::InvalidateTemporalHistory ( )
overridevirtual

Clears view-local history after camera cuts and configuration changes.

Reimplemented from xiiRenderPipelinePass.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/Passes/AmbientOcclusion/AmbientOcclusionTemporalPass.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/Passes/AmbientOcclusion/AmbientOcclusionTemporalPass.cpp