FShaderParametersMetadata

A uniform buffer struct.

Choose your operating system:

Windows

macOS

Linux

References

Module

RenderCore

Header

/Engine/Source/Runtime/RenderCore/Public/ShaderParameterMetadata.h

Include

#include "ShaderParameterMetadata.h"

Syntax

class FShaderParametersMetadata

Remarks

A uniform buffer struct.

Constructors

Name Description

Public function

FShaderParametersMetadata

(
    EUseCase UseCase,
    EUniformBufferBindingFlags InBindin...,
    const TCHAR* InLayoutName,
    const TCHAR* InStructTypeName,
    const TCHAR* InShaderVariableN...,
    const TCHAR* InStaticSlotName,
    const ANSICHAR* InFileName,
    const int32 InFileLine,
    uint32 InSize,
    const TArray< FMember >& InMembers,
    bool bForceCompleteInitialization,
    FRHIUniformBufferLayoutInitializer ...
)

Initialization constructor.

Destructors

Name Description

Public function Virtual

~FShaderParametersMetadata()

Functions

Name Description

Public function Const

void

 

AddResourceTableEntries

Public function Const

void

 

FindMemberFromOffset

(
    uint16 MemberOffset,
    const FShaderParametersMetadata...,
    const FShaderParametersMetadata::FM...,
    int32* ArrayElementId,
    FString* NamePrefix
)

Find a member for a given offset.

Public function Const

EUniformBuff...

 

GetBindingFlags()

Public function Const

const int32

 

GetFileLine()

Returns the C++ line number where the parameter structure is declared.

Public function Const

const ANSICH...

 

GetFileName()

Returns the C++ file name where the parameter structure is declared.

Public function Const

FString

 

GetFullMemberCodeName

(
    uint16 MemberOffset
)

Returns the full C++ member name from it's byte offset in the structure.

Public function Const

const FRHIUn...

 

GetLayout()

Public function Const

uint32

 

GetLayoutHash()

Returns a hash about the entire layout of the structure.

Public function Const

const FRHIUn...

 

GetLayoutPtr()

Public function Const

const TArray...

 

GetMembers()

Public function Static

TMap< FHashe...

 

GetNameStructMap()

Speed up finding the uniform buffer by its name

Public function Const

void

 

GetNestedStructs

(
    TArray< const FShaderParametersMeta...
)

Public function Const

EUniformBuff...

 

GetPreferredBindingFlag()

Public function Const

const FHashe...

 

GetShaderVariableHashedName()

Public function Const

const TCHAR ...

 

GetShaderVariableName()

Public function Const

uint32

 

GetSize()

Public function Const

const TCHAR ...

 

GetStaticSlotName()

Public function Static

TLinkedList<...

 

GetStructList()

Public function Const

const TCHAR ...

 

GetStructTypeName()

Public function Const

EUseCase

 

GetUseCase()

Public function Const

bool

 

HasStaticSlot()

Public function Static

void

 

InitializeAllUniformBufferStructs()

Initialize all the global shader parameter structs.

Public function Const

bool

 

IsLayoutInitialized()

Public function Const

void

 

IterateShaderParameterMembers

(
    TParameterFunction Lambda
)

Iterate recursively over all shader parameter members.

Public function Const

void

 

IterateStructureMetadataDependencies

(
    TParameterFunction Lambda
)

Iterate recursively over all FShaderParametersMetadata.

Classes

Name

Description

Public class

FMember

A member of a shader parameter structure.

Enums

Name

Description

Public enum

EUseCase

The use case of the uniform buffer structures.

Constants

Name

Description

kRootCBufferBindingIndex

Shader binding name of the uniform buffer that contains the root shader parameters.

kRootUniformBufferBindingName

Shader binding name of the uniform buffer that contains the root shader parameters.