XII Release 0.1.0
Loading...
Searching...
No Matches
xiiRenderPipelinePass Class Referenceabstract

#include <RenderPipelinePass.h>

Inheritance diagram for xiiRenderPipelinePass:
[legend]

Public Member Functions

virtual xiiResult Configure (const xiiVariantDictionary &properties)
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< xiiRenderPipelineDeviceFeature > GetRequiredDeviceFeatures () const
virtual xiiBitflags< xiiRenderExtractionCategory > GetExtractionRequirements () const
virtual xiiBitflags< xiiRenderPipelineFeature > GetRuntimeFeatures () const
virtual xiiResult Build (xiiRenderPipelinePassContext &context)=0
virtual xiiResult BuildTemporalHistory (xiiRenderPipelinePassContext &)
virtual xiiResult ValidatePipeline (const xiiRenderPipelineResourceDescriptor &, xiiArrayPtr< const xiiUInt32 >, xiiUInt32, xiiStringBuilder *) const
virtual void InvalidateTemporalHistory ()
 Clears view-local history after camera cuts and configuration changes.
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

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

One mutable instance per pass per view. Constructors/Configure/GetPins must not access GAL. Build emits frame-specific work through the specialized render graph. Execute delegates must capture owned instance state or frame data, never this stack context. Instances remain alive until their graph execution has finished. Persistent GAL objects follow the device's deferred lifetime rules.

Member Function Documentation

◆ BuildTemporalHistory()

virtual xiiResult xiiRenderPipelinePass::BuildTemporalHistory ( xiiRenderPipelinePassContext & )
inlinevirtual

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 in xiiAmbientOcclusionTemporalPass, xiiBufferHistoryPass, xiiScreenSpaceReflectionsTemporalPass, xiiTemporalAntiAliasingPass, and xiiTextureHistoryPass.

◆ GetPins()

void xiiRenderPipelinePass::GetPins ( xiiDynamicArray< xiiRenderPipelinePin > & out_pins) const
virtual

Static pins are discovered from typed XII_MEMBER_PROPERTY members. Only authoring interfaces whose topology comes from another definition are dynamic.

Reimplemented in xiiRenderPipelineInputDefaultPass, xiiRenderPipelineInterfacePass, xiiRenderPipelineSubgraphPass, and xiiTexturePreviewPass.

◆ GetProperties()

xiiResult xiiRenderPipelinePass::GetProperties ( xiiVariantDictionary & out_properties) const

Capture authored reflected properties, including arrays, value maps and owned settings objects. Occurrence-local ParameterOverrides remain in the descriptor's parameter scope.

◆ InvalidateTemporalHistory()

virtual void xiiRenderPipelinePass::InvalidateTemporalHistory ( )
inlinevirtual

◆ ValidatePipeline()

virtual xiiResult xiiRenderPipelinePass::ValidatePipeline ( const xiiRenderPipelineResourceDescriptor & ,
xiiArrayPtr< const xiiUInt32 > ,
xiiUInt32 ,
xiiStringBuilder *  ) const
inlinevirtual

Optional domain validation after generic connectivity and ordering have been validated. Runs on CPU during compilation; failure prevents publication of the entire resource.


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