UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMeshDrawShaderBindings Class Reference

#include <MeshPassProcessor.h>

Public Member Functions

 FMeshDrawShaderBindings ()
 
 FMeshDrawShaderBindings (FMeshDrawShaderBindings &&Other)
 
 FMeshDrawShaderBindings (const FMeshDrawShaderBindings &Other)
 
RENDERER_API ~FMeshDrawShaderBindings ()
 
FMeshDrawShaderBindingsoperator= (const FMeshDrawShaderBindings &Other)
 
FMeshDrawShaderBindingsoperator= (FMeshDrawShaderBindings &&Other)
 
RENDERER_API void Initialize (const FMeshProcessorShaders &Shaders)
 
RENDERER_API void Initialize (const TShaderRef< FShader > &Shader)
 
RENDERER_API void Finalize (const FMeshProcessorShaders *ShadersForDebugging)
 
FORCEINLINE FMeshDrawSingleShaderBindings GetSingleShaderBindings (EShaderFrequency Frequency, int32 &DataOffset)
 
FORCEINLINE FMeshDrawSingleShaderBindings GetSingleShaderBindings (EShaderFrequency Frequency)
 
RENDERER_API void SetOnCommandList (FRHICommandList &RHICmdList, const FBoundShaderStateInput &Shaders, class FShaderBindingState *StateCacheShaderBindings) const
 
RENDERER_API void SetParameters (FRHIBatchedShaderParameters &BatchedParameters, class FShaderBindingState *StateCacheShaderBindings=nullptr) const
 
RENDERER_API void SetOnCommandList (FRHIComputeCommandList &RHICmdList, FRHIComputeShader *Shader, class FShaderBindingState *StateCacheShaderBindings=nullptr) const
 
bool RENDERER_API MatchesForDynamicInstancing (const FMeshDrawShaderBindings &Rhs) const
 
uint32 RENDERER_API GetDynamicInstancingHash () const
 
SIZE_T GetAllocatedSize () const
 
void GetShaderFrequencies (TArray< EShaderFrequency, TInlineAllocator< SF_NumFrequencies > > &OutShaderFrequencies) const
 
int32 GetDataSize () const
 

Detailed Description

Encapsulates shader bindings for a single FMeshDrawCommand.

Constructor & Destructor Documentation

◆ FMeshDrawShaderBindings() [1/3]

FMeshDrawShaderBindings::FMeshDrawShaderBindings ( )
inline

◆ FMeshDrawShaderBindings() [2/3]

FMeshDrawShaderBindings::FMeshDrawShaderBindings ( FMeshDrawShaderBindings &&  Other)
inline

◆ FMeshDrawShaderBindings() [3/3]

FMeshDrawShaderBindings::FMeshDrawShaderBindings ( const FMeshDrawShaderBindings Other)
inline

◆ ~FMeshDrawShaderBindings()

FMeshDrawShaderBindings::~FMeshDrawShaderBindings ( )

Member Function Documentation

◆ Finalize()

void FMeshDrawShaderBindings::Finalize ( const FMeshProcessorShaders ShadersForDebugging)

Called once binding setup is complete.

◆ GetAllocatedSize()

SIZE_T FMeshDrawShaderBindings::GetAllocatedSize ( ) const
inline

◆ GetDataSize()

int32 FMeshDrawShaderBindings::GetDataSize ( ) const
inline

◆ GetDynamicInstancingHash()

uint32 FMeshDrawShaderBindings::GetDynamicInstancingHash ( ) const

◆ GetShaderFrequencies()

void FMeshDrawShaderBindings::GetShaderFrequencies ( TArray< EShaderFrequency, TInlineAllocator< SF_NumFrequencies > > &  OutShaderFrequencies) const
inline

◆ GetSingleShaderBindings() [1/2]

FORCEINLINE FMeshDrawSingleShaderBindings FMeshDrawShaderBindings::GetSingleShaderBindings ( EShaderFrequency  Frequency)
inline

◆ GetSingleShaderBindings() [2/2]

FORCEINLINE FMeshDrawSingleShaderBindings FMeshDrawShaderBindings::GetSingleShaderBindings ( EShaderFrequency  Frequency,
int32 DataOffset 
)
inline

◆ Initialize() [1/2]

void FMeshDrawShaderBindings::Initialize ( const FMeshProcessorShaders Shaders)

Allocates space for the bindings of all shaders.

◆ Initialize() [2/2]

void FMeshDrawShaderBindings::Initialize ( const TShaderRef< FShader > &  Shader)

◆ MatchesForDynamicInstancing()

bool FMeshDrawShaderBindings::MatchesForDynamicInstancing ( const FMeshDrawShaderBindings Rhs) const

Returns whether this set of shader bindings can be merged into an instanced draw call with another.

◆ operator=() [1/2]

FMeshDrawShaderBindings & FMeshDrawShaderBindings::operator= ( const FMeshDrawShaderBindings Other)
inline

◆ operator=() [2/2]

FMeshDrawShaderBindings & FMeshDrawShaderBindings::operator= ( FMeshDrawShaderBindings &&  Other)
inline

◆ SetOnCommandList() [1/2]

void FMeshDrawShaderBindings::SetOnCommandList ( FRHICommandList RHICmdList,
const FBoundShaderStateInput Shaders,
class FShaderBindingState StateCacheShaderBindings 
) const

Set shader bindings on the commandlist, filtered by state cache.

◆ SetOnCommandList() [2/2]

void FMeshDrawShaderBindings::SetOnCommandList ( FRHIComputeCommandList RHICmdList,
FRHIComputeShader Shader,
class FShaderBindingState StateCacheShaderBindings = nullptr 
) const

◆ SetParameters()

void FMeshDrawShaderBindings::SetParameters ( FRHIBatchedShaderParameters BatchedParameters,
class FShaderBindingState StateCacheShaderBindings = nullptr 
) const

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