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

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

#include <MeshDrawCommandsPass.h>

Inheritance diagram for xiiMeshDrawCommandsPass:
[legend]

Public Member Functions

xiiResult Configure (const xiiVariantDictionary &properties) override
xiiResult Build (xiiRenderPipelinePassContext &context) override
xiiBitflags< xiiRenderPipelineDeviceFeature > GetRequiredDeviceFeatures () const override
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 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

xiiRenderPipelineBufferInputPin m_Visible {false, xiiGALBindFlags::ShaderResource}
xiiRenderPipelineBufferInputPin m_Count {false, xiiGALBindFlags::ShaderResource}
xiiRenderPipelineBufferOutputPin m_Commands {false, xiiGALBindFlags::ShaderResource | xiiGALBindFlags::UnorderedAccess | xiiGALBindFlags::IndirectDrawArguments}
xiiRenderPipelineBufferOutputPin m_CommandCount {false, xiiGALBindFlags::ShaderResource | xiiGALBindFlags::UnorderedAccess | xiiGALBindFlags::IndirectDrawArguments}
xiiUInt32 m_uiMeshGroupCountX = 65535
xiiUInt32 m_uiMeshGroupCountY = 1
bool m_bAsyncCompute = true
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.

Converts a bounded compact meshlet stream to one portable DrawMeshIndirect command. Raster constants must use the same reflected MeshGroupCountX/Y strides.

Member Function Documentation

◆ Build()

xiiResult xiiMeshDrawCommandsPass::Build ( xiiRenderPipelinePassContext & context)
overridevirtual

Implements xiiRenderPipelinePass.

◆ Configure()

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

Reimplemented from xiiRenderPipelinePass.

◆ GetRequiredDeviceFeatures()

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

Reimplemented from xiiRenderPipelinePass.


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