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

#include <ShaderParameterMetadataBuilder.h>

Public Member Functions

 FShaderParametersMetadataBuilder ()
 
 FShaderParametersMetadataBuilder (const FShaderParametersMetadata *RootParametersMetadata)
 
template<typename T >
void AddParam (const TCHAR *Name, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
template<typename T >
void AddParamArray (const TCHAR *Name, int32 NumElements, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
template<typename T >
void AddReferencedStruct (const TCHAR *Name, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddReferencedStruct (const TCHAR *Name, const FShaderParametersMetadata *StructMetadata, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
template<typename T >
void AddIncludedStruct (EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddIncludedStruct (const FShaderParametersMetadata *StructMetadata, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
template<typename T >
uint32 AddNestedStruct (const TCHAR *Name, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API uint32 AddNestedStruct (const TCHAR *Name, const FShaderParametersMetadata *StructMetadata, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddBufferSRV (const TCHAR *Name, const TCHAR *ShaderType, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddBufferUAV (const TCHAR *Name, const TCHAR *ShaderType, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddRDGBufferSRV (const TCHAR *Name, const TCHAR *ShaderType, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddRDGBufferUAV (const TCHAR *Name, const TCHAR *ShaderType, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddTexture (const TCHAR *Name, const TCHAR *ShaderType, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddRDGTexture (const TCHAR *Name, const TCHAR *ShaderType, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddSampler (const TCHAR *Name, const TCHAR *ShaderType, EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
RENDERCORE_API void AddRenderTargetBindingSlots (const TCHAR *Name=TEXT("RenderTargets"), const TCHAR *ShaderType=TEXT(""), EShaderPrecisionModifier::Type Precision=EShaderPrecisionModifier::Float)
 
void AlignNextMemberToStruct ()
 
uint32 GetNextMemberOffset () const
 
RENDERCORE_API FShaderParametersMetadataBuild (FShaderParametersMetadata::EUseCase UseCase, const TCHAR *ShaderParameterName)
 
RENDERCORE_API FShaderParametersMetadataBuild (FShaderParametersMetadata::EUseCase InUseCase, EUniformBufferBindingFlags InBindingFlags, const TCHAR *InLayoutName, const TCHAR *InStructTypeName, const TCHAR *InShaderVariableName, const TCHAR *InStaticSlotName, const ANSICHAR *InFileName, const int32 InFileLine, bool bForceCompleteInitialization=false, FRHIUniformBufferLayoutInitializer *OutLayoutInitializer=nullptr, FShaderParametersMetadata::EUsageFlags InUsageFlags=FShaderParametersMetadata::EUsageFlags::None)
 

Constructor & Destructor Documentation

◆ FShaderParametersMetadataBuilder() [1/2]

FShaderParametersMetadataBuilder::FShaderParametersMetadataBuilder ( )
inline

◆ FShaderParametersMetadataBuilder() [2/2]

FShaderParametersMetadataBuilder::FShaderParametersMetadataBuilder ( const FShaderParametersMetadata RootParametersMetadata)
inlineexplicit

Member Function Documentation

◆ AddBufferSRV()

void FShaderParametersMetadataBuilder::AddBufferSRV ( const TCHAR Name,
const TCHAR ShaderType,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddBufferUAV()

void FShaderParametersMetadataBuilder::AddBufferUAV ( const TCHAR Name,
const TCHAR ShaderType,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddIncludedStruct() [1/2]

void FShaderParametersMetadataBuilder::AddIncludedStruct ( const FShaderParametersMetadata StructMetadata,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddIncludedStruct() [2/2]

template<typename T >
void FShaderParametersMetadataBuilder::AddIncludedStruct ( EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float)
inline

◆ AddNestedStruct() [1/2]

uint32 FShaderParametersMetadataBuilder::AddNestedStruct ( const TCHAR Name,
const FShaderParametersMetadata StructMetadata,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddNestedStruct() [2/2]

template<typename T >
uint32 FShaderParametersMetadataBuilder::AddNestedStruct ( const TCHAR Name,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)
inline

◆ AddParam()

template<typename T >
void FShaderParametersMetadataBuilder::AddParam ( const TCHAR Name,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)
inline

◆ AddParamArray()

template<typename T >
void FShaderParametersMetadataBuilder::AddParamArray ( const TCHAR Name,
int32  NumElements,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)
inline

◆ AddRDGBufferSRV()

void FShaderParametersMetadataBuilder::AddRDGBufferSRV ( const TCHAR Name,
const TCHAR ShaderType,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddRDGBufferUAV()

void FShaderParametersMetadataBuilder::AddRDGBufferUAV ( const TCHAR Name,
const TCHAR ShaderType,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddRDGTexture()

void FShaderParametersMetadataBuilder::AddRDGTexture ( const TCHAR Name,
const TCHAR ShaderType,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddReferencedStruct() [1/2]

void FShaderParametersMetadataBuilder::AddReferencedStruct ( const TCHAR Name,
const FShaderParametersMetadata StructMetadata,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddReferencedStruct() [2/2]

template<typename T >
void FShaderParametersMetadataBuilder::AddReferencedStruct ( const TCHAR Name,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)
inline

◆ AddRenderTargetBindingSlots()

void FShaderParametersMetadataBuilder::AddRenderTargetBindingSlots ( const TCHAR Name = TEXT("RenderTargets"),
const TCHAR ShaderType = TEXT(""),
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddSampler()

void FShaderParametersMetadataBuilder::AddSampler ( const TCHAR Name,
const TCHAR ShaderType,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AddTexture()

void FShaderParametersMetadataBuilder::AddTexture ( const TCHAR Name,
const TCHAR ShaderType,
EShaderPrecisionModifier::Type  Precision = EShaderPrecisionModifier::Float 
)

◆ AlignNextMemberToStruct()

void FShaderParametersMetadataBuilder::AlignNextMemberToStruct ( )
inline

◆ Build() [1/2]

FShaderParametersMetadata * FShaderParametersMetadataBuilder::Build ( FShaderParametersMetadata::EUseCase  InUseCase,
EUniformBufferBindingFlags  InBindingFlags,
const TCHAR InLayoutName,
const TCHAR InStructTypeName,
const TCHAR InShaderVariableName,
const TCHAR InStaticSlotName,
const ANSICHAR InFileName,
const int32  InFileLine,
bool  bForceCompleteInitialization = false,
FRHIUniformBufferLayoutInitializer OutLayoutInitializer = nullptr,
FShaderParametersMetadata::EUsageFlags  InUsageFlags = FShaderParametersMetadata::EUsageFlags::None 
)

◆ Build() [2/2]

FShaderParametersMetadata * FShaderParametersMetadataBuilder::Build ( FShaderParametersMetadata::EUseCase  UseCase,
const TCHAR ShaderParameterName 
)

◆ GetNextMemberOffset()

uint32 FShaderParametersMetadataBuilder::GetNextMemberOffset ( ) const
inline

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