Navigation
API > API/Runtime > API/Runtime/RenderCore
A uniform buffer struct.
| Name | FShaderParametersMetadata |
| Type | class |
| Header File | /Engine/Source/Runtime/RenderCore/Public/ShaderParameterMetadata.h |
| Include Path | #include "ShaderParameterMetadata.h" |
Syntax
class FShaderParametersMetadata
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FShaderParametersMetadata
(
EUseCase UseCase, |
Initialization constructor. | ShaderParameterMetadata.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FShaderParametersMetadata() |
ShaderParameterMetadata.h |
Classes
| Name | Remarks |
|---|---|
| FMember | A member of a shader parameter structure. |
Enums
Public
| Name | Remarks |
|---|---|
| EUsageFlags | Additional flags that can be used to determine usage |
| EUseCase | The use case of the uniform buffer structures. |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| kRootCBufferBindingIndex | int32 | Shader binding name of the uniform buffer that contains the root shader parameters. | ShaderParameterMetadata.h |
| kRootUniformBufferBindingName | const TCHAR * | Shader binding name of the uniform buffer that contains the root shader parameters. | ShaderParameterMetadata.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BindingFlags | const EUniformBufferBindingFlags | The binding model used by this parameter struct. | ShaderParameterMetadata.h | |
| FileLine | const int32 | Line in the C++ file where the parameter structure is declared. | ShaderParameterMetadata.h | |
| FileName | const ANSICHAR *const | Name of the C++ file where the parameter structure is declared. | ShaderParameterMetadata.h | |
| GlobalListLink | TLinkedList< FShaderParametersMetadata * > | Shackle elements in global link list of globally named shader parameters. | ShaderParameterMetadata.h | |
| Layout | FUniformBufferLayoutRHIRef | Layout of all the resources in the shader parameter struct. | ShaderParameterMetadata.h | |
| LayoutHash | uint32 | Hash about the entire memory layout of the structure. | ShaderParameterMetadata.h | |
| LayoutName | const TCHAR *const | ShaderParameterMetadata.h | ||
| LayoutSignature | FBlake3Hash | Strong persistable hash representing the binary layout of the entire parameter structure | ShaderParameterMetadata.h | |
| MemberNameBuffer | FThreadSafeNameBufferPtr | ShaderParameterMetadata.h | ||
| Members | TArray< FMember > | List of all members. | ShaderParameterMetadata.h | |
| ResourceTableCache | TArray< FUniformResourceEntry > | Cache of uniform buffer resource table, and storage for member names used by the table, created once | ShaderParameterMetadata.h | |
| ShaderVariableHashedName | FHashedName | ShaderParameterMetadata.h | ||
| ShaderVariableName | const TCHAR *const | Name of the shader variable name for global shader parameter structs. | ShaderParameterMetadata.h | |
| ShaderVariableNameHash | uint32 | ShaderParameterMetadata.h | ||
| Size | const uint32 | Size of the entire struct in bytes. | ShaderParameterMetadata.h | |
| StaticSlotName | const TCHAR *const | Name of the static slot to use for the uniform buffer (or null). | ShaderParameterMetadata.h | |
| StructTypeName | const TCHAR *const | Name of the structure type in C++ and shader code. | ShaderParameterMetadata.h | |
| UniformBufferDeclaration | FThreadSafeSharedStringPtr | Uniform buffer declaration, created once | ShaderParameterMetadata.h | |
| UniformBufferDeclarationAnsi | FThreadSafeSharedAnsiStringPtr | ShaderParameterMetadata.h | ||
| UniformBufferInclude | FString | ShaderParameterMetadata.h | ||
| UniformBufferPath | FString | Strings for uniform buffer generated path and include, created once | ShaderParameterMetadata.h | |
| UniformBufferPathHash | uint32 | Hashes for frequently used strings | ShaderParameterMetadata.h | |
| UsageFlags | const EUsageFlags | Additional flags for how to use the buffer | ShaderParameterMetadata.h | |
| UseCase | const EUseCase | The use case of this shader parameter struct. | ShaderParameterMetadata.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddResourceTableEntries
(
FShaderResourceTableMap& ResourceTableMap, |
ShaderParameterMetadata.h | ||
void Append
(
FShaderKeyGenerator& KeyGen |
ShaderParameterMetadata.h | ||
void AppendKeyString
(
FString& OutKeyString |
ShaderParameterMetadata.h | ||
void FindMemberFromOffset
(
uint16 MemberOffset, |
Find a member for a given offset. | ShaderParameterMetadata.h | |
EUniformBufferBindingFlags GetBindingFlags() |
ShaderParameterMetadata.h | ||
const int32 GetFileLine() |
Returns the C++ line number where the parameter structure is declared. | ShaderParameterMetadata.h | |
const ANSICHAR * GetFileName() |
Returns the C++ file name where the parameter structure is declared. | ShaderParameterMetadata.h | |
FString GetFullMemberCodeName
(
uint16 MemberOffset |
Returns the full C++ member name from it's byte offset in the structure. | ShaderParameterMetadata.h | |
const FRHIUniformBufferLayout & GetLayout() |
ShaderParameterMetadata.h | ||
uint32 GetLayoutHash() |
Returns a hash about the entire layout of the structure. | ShaderParameterMetadata.h | |
const FRHIUniformBufferLayout * GetLayoutPtr() |
ShaderParameterMetadata.h | ||
const FBlake3Hash & GetLayoutSignature() |
ShaderParameterMetadata.h | ||
| ShaderParameterMetadata.h | |||
void GetNestedStructs
(
TArray< const FShaderParametersMetadata* >& OutNestedStructs |
ShaderParameterMetadata.h | ||
EUniformBufferBindingFlags GetPreferredBindingFlag() |
ShaderParameterMetadata.h | ||
const FHashedName & GetShaderVariableHashedName() |
ShaderParameterMetadata.h | ||
const TCHAR * GetShaderVariableName() |
ShaderParameterMetadata.h | ||
uint32 GetSize() |
ShaderParameterMetadata.h | ||
const TCHAR * GetStaticSlotName() |
ShaderParameterMetadata.h | ||
const TCHAR * GetStructTypeName() |
ShaderParameterMetadata.h | ||
const FString & GetUniformBufferDeclaration() |
ShaderParameterMetadata.h | ||
FThreadSafeSharedAnsiStringPtr GetUniformBufferDeclarationAnsiPtr() |
ShaderParameterMetadata.h | ||
FThreadSafeSharedStringPtr GetUniformBufferDeclarationPtr() |
ShaderParameterMetadata.h | ||
const FString & GetUniformBufferInclude() |
ShaderParameterMetadata.h | ||
const FString & GetUniformBufferPath() |
ShaderParameterMetadata.h | ||
uint32 GetUniformBufferPathHash() |
ShaderParameterMetadata.h | ||
EUsageFlags GetUsageFlags() |
ShaderParameterMetadata.h | ||
EUseCase GetUseCase() |
ShaderParameterMetadata.h | ||
bool HasStaticSlot() |
ShaderParameterMetadata.h | ||
bool IsLayoutInitialized() |
ShaderParameterMetadata.h | ||
bool IsUniformBufferDeclarationInitialized() |
ShaderParameterMetadata.h | ||
void IterateStructureMetadataDependencies
(
TParameterFunction Lambda |
Iterate recursively over all FShaderParametersMetadata. | ShaderParameterMetadata.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TMap< FHashedName, FShaderParametersMetadata * > & GetNameStructMap() |
Speed up finding the uniform buffer by its name | ShaderParameterMetadata.h | |
static TMap< FString, FShaderParametersMetadata * > & GetStringStructMap() |
ShaderParameterMetadata.h | ||
static TLinkedList< FShaderParametersMetadata * > *& GetStructList() |
ShaderParameterMetadata.h | ||
static void InitializeAllUniformBufferStructs() |
Initialize all the global shader parameter structs. | ShaderParameterMetadata.h |