Navigation
Unreal Engine C++ API Reference > Runtime > RenderCore
Inheritance Hierarchy
- FShaderType
- FGlobalShaderType
- FMaterialShaderType
- FMeshMaterialShaderType
- FNiagaraShaderType
- FOpenColorIOShaderType
References
Module | RenderCore |
Header | /Engine/Source/Runtime/RenderCore/Public/Shader.h |
Include | #include "Shader.h" |
Syntax
class FShaderType
Remarks
An object which is used to serialize/deserialize, compile, and cache a particular shader class.
A shader type can manage multiple instance of FShader across mutiple dimensions such as EShaderPlatform, or permutation id. The number of permutation of a shader type is simply given by GetPermutationCount().
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
TSet< const TCHAR *, TStringPointerSetKeyFuncs_DEPRECATED< const TCHAR * > > | ReferencedUniformBufferNames | Cache of referenced uniform buffer includes. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FShaderType
(
EShaderTypeForDynamicCast InShaderTypeForDynamicCast, |
Minimal initialization constructor. |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
~FShaderType () |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | AddUniformBufferIncludesToEnvironment
(
FShaderCompilerEnvironment& OutEnvironment, |
Adds include statements for uniform buffers that this shader type references. |
![]() ![]() |
const FGlobalShaderType * | ||
![]() ![]() |
const FMaterialShaderType * | ||
![]() ![]() |
const FMeshMaterialShaderType * | ||
![]() ![]() |
const FNiagaraShaderType * | ||
![]() ![]() |
const FOpenColorIOShaderType * | ||
![]() ![]() |
FShader * | ConstructCompiled
(
const FShader::CompiledShaderInitializerType& Initializer |
|
![]() ![]() |
FShader * | Constructs a new instance of the shader type for deserialization. | |
![]() |
void | ||
![]() |
FComputeKernelShaderType * | ||
![]() ![]() |
const FComputeKernelShaderType * | ||
![]() ![]() |
const FName & | GetFName () |
|
![]() ![]() |
EShaderFrequency | GetFrequency () |
|
![]() ![]() |
const TCHAR * | ||
![]() ![]() |
const FGlobalShaderType * | ||
![]() |
FGlobalShaderType * | Dynamic casts. | |
![]() ![]() |
const FHashedName & | ||
![]() ![]() |
const FHashedName & | ||
![]() ![]() |
const FTypeLayoutDesc & | GetLayout () |
Accessors. |
![]() ![]() |
const FMaterialShaderType * | ||
![]() |
FMaterialShaderType * | ||
![]() ![]() |
const FMeshMaterialShaderType * | ||
![]() |
FMeshMaterialShaderType * | ||
![]() ![]() |
const TCHAR * | GetName () |
|
![]() ![]() |
TMap< FHashedName, FShaderType * > & | ||
![]() |
FNiagaraShaderType * | ||
![]() ![]() |
const FNiagaraShaderType * | ||
![]() ![]() |
int32 | ||
![]() |
FOpenColorIOShaderType * | ||
![]() ![]() |
const FOpenColorIOShaderType * | ||
![]() ![]() |
int32 | ||
![]() ![]() |
ERayTracingPayloadType | GetRayTracingPayloadType
(
const int32 PermutationId |
|
![]() ![]() |
const TSet< const TCHAR *, TStringPointerSetKeyFuncs_DEPRECATED< const TCHAR * > > & | ||
![]() ![]() |
const FShaderParametersMetadata * | Returns the meta data for the root shader parameter struct. | |
![]() ![]() |
const TCHAR * | ||
![]() |
void | GetShaderStableKeyParts
(
FStableShaderKeyAndValue& SaveKeyVal |
|
![]() ![]() |
FShaderType * | GetShaderTypeByName
(
const TCHAR* Name |
|
![]() ![]() |
TArray< const FShaderType * > | GetShaderTypesByFilename
(
const TCHAR* Filename |
|
![]() ![]() |
const TArray< FShaderType * > & | GetSortedTypes
(
EShaderTypeForDynamicCast Type |
|
![]() ![]() |
const FSHAHash & | GetSourceHash
(
EShaderPlatform ShaderPlatform |
Calculates a Hash based on this shader type's source code and includes |
![]() ![]() |
EShaderTypeForDynamicCast | ||
![]() ![]() |
TLinkedList< FShaderType * > *& | GetTypeList () |
|
![]() ![]() |
uint32 | GetTypeSize () |
|
![]() ![]() |
void | Initialize
(
const TMap< FString, TArray< const TCHAR* > >& ShaderFileToUniformBufferVariables |
Initialize FShaderType static members, this must be called before any shader types are created. |
![]() ![]() |
void | ModifyCompilationEnvironment
(
const FShaderPermutationParameters& Parameters, |
|
![]() ![]() |
bool | ShouldCompilePermutation
(
const FShaderPermutationParameters& Parameters |
|
![]() ![]() |
void | Uninitialize () |
Uninitializes FShaderType cached data. |
![]() |
void | UpdateReferencedUniformBufferNames
(
const TMap< FString, TArray< const TCHAR* >>& ShaderFileToUniformBufferVariables |
|
![]() ![]() |
bool | ValidateCompiledResult
(
EShaderPlatform Platform, |
Checks if the shader type should pass compilation for a particular set of parameters. |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FParameters | Derived FShaderTypes should derive from this class to pass params to FShader constructor |
Enums
Type | Name | Description | |
---|---|---|---|
![]() |
EShaderTypeForDynamicCast |
Typedefs
Name | Description |
---|---|
ConstructCompiledType | |
ConstructSerializedType | |
GetRayTracingPayloadTypeType | |
ModifyCompilationEnvironmentType | |
ShouldCompilePermutationType | |
ValidateCompiledResultType |
Constants
Name | Description |
---|---|
bInitializedSerializationHistory | Tracks whether serialization history for all shader types has been initialized. |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | AddReferencedUniformBufferIncludes
(
FShaderCompilerEnvironment& OutEnvironment, |
AddReferencedUniformBufferIncludes has moved to AddUniformBufferIncludesToEnvironment and no longer takes a prefix argument. |
![]() |
void | FlushShaderFileCache
(
const TMap< FString, TArray< const TCHAR* > >& ShaderFileToUniformBufferVariables |
FlushShaderFileCache is deprecated. UpdateReferencedUniformBufferNames should be used to flush any uniform buffer changes |