Navigation
API > API/Runtime > API/Runtime/RenderCore
Validates and moves all the shader loose data parameter defined in the root scope of the shader into the root uniform buffer.
| Name | FShaderParameterParser |
| Type | class |
| Header File | /Engine/Source/Runtime/RenderCore/Public/ShaderParameterParser.h |
| Include Path | #include "ShaderParameterParser.h" |
Syntax
class FShaderParameterParser
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FShaderParameterParser
(
const FPlatformConfiguration& InPlatformConfiguration |
ShaderParameterParser.h | ||
| ShaderParameterParser.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FShaderParameterParser() |
ShaderParameterParser.h |
Structs
| Name | Remarks |
|---|---|
| FParsedShaderParameter | |
| FPlatformConfiguration |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| kBindlessSamplerArrayPrefix | const TCHAR * | ShaderParameterParser.h | |
| kBindlessSamplerPrefix | const TCHAR * | ShaderParameterParser.h | |
| kBindlessSRVArrayPrefix | const TCHAR * | Prefix used to declare arrays of samplers/resources for bindless. | ShaderParameterParser.h |
| kBindlessSRVPrefix | const TCHAR * | ShaderParameterParser.h | |
| kBindlessUAVArrayPrefix | const TCHAR * | ShaderParameterParser.h | |
| kBindlessUAVPrefix | const TCHAR * | ShaderParameterParser.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool DidModifyShader() |
ShaderParameterParser.h | ||
const FParsedShaderParameter & FindParameterInfos
(
const FString& ParameterName |
Gets parsing information from a parameter binding name. | ShaderParameterParser.h | |
const FParsedShaderParameter * FindParameterInfosUnsafe
(
const FString& ParameterName |
ShaderParameterParser.h | ||
void GetParameterFileAndLine
(
const FParsedShaderParameter& ParsedParameter, |
Gets file and line of the parameter in the shader source code. | ShaderParameterParser.h | |
bool ParseAndModify
(
const FShaderCompilerInput& CompilerInput, |
ShaderParameterParser.h | ||
void ValidateShaderParameterType
(
const FShaderCompilerInput& CompilerInput, |
ShaderParameterParser.h | ||
void ValidateShaderParameterType
(
const FShaderCompilerInput& CompilerInput, |
Validates the shader parameter in code is compatible with the shader parameter structure. | ShaderParameterParser.h | |
void ValidateShaderParameterTypes
(
const FShaderCompilerInput& CompilerInput, |
ShaderParameterParser.h | ||
void ValidateShaderParameterTypes
(
const FShaderCompilerInput& CompilerInput, |
Validates shader parameter map is compatible with the shader parameter structure. | ShaderParameterParser.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ApplyBindlessModifications
(
FString& PreprocessedShaderSource |
Converts parsed parameters into their bindless forms. | ShaderParameterParser.h | |
| ShaderParameterParser.h | |||
virtual FString GenerateBindlessParameterDeclaration
(
const FParsedShaderParameter& ParsedParameter |
Generates shader source code to declare a bindless resource or sampler (for automatic bindless conversion). | ShaderParameterParser.h | |
bool MoveShaderParametersToRootConstantBuffer
(
const FShaderParametersMetadata* RootParametersStructure, |
Moves parsed parameters into the root constant buffer. | ShaderParameterParser.h | |
bool ParseParameters
(
const FShaderParametersMetadata* RootParametersStructure, |
Parses the preprocessed shader code | ShaderParameterParser.h | |
EShaderParameterType ParseParameterType
(
FStringView InType |
ShaderParameterParser.h | ||
void RemoveMovingParametersFromSource
(
FString& PreprocessedShaderSource |
ShaderParameterParser.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FStringView GetBindlessParameterPrefix
(
EShaderParameterType InShaderParameterType |
ShaderParameterParser.h | ||
static EShaderParameterType ParseAndRemoveBindlessParameterPrefix
(
FString& InName |
ShaderParameterParser.h | ||
static EShaderParameterType ParseAndRemoveBindlessParameterPrefix
(
FStringView& InName |
ShaderParameterParser.h | ||
static bool RemoveBindlessParameterPrefix
(
FString& InName |
ShaderParameterParser.h |