Navigation
API > API/Runtime > API/Runtime/RenderCore
Inheritance Hierarchy
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 FShaderParametersMetadata * > | ReferencedUniformBuffers | Cache of referenced uniform buffer structs. |
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 * | ||
![]() |
FGlobalShaderType * | Dynamic casts. | |
![]() ![]() |
const FGlobalShaderType * | ||
![]() ![]() |
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 TSet< const FShaderParametersMetadata * > & | ||
![]() ![]() |
const FShaderParametersMetadata * | Returns the meta data for the root shader parameter struct. | |
![]() ![]() |
const FShaderBindingLayout * | GetShaderBindingLayout
(
const FShaderPermutationParameters& Parameters |
|
![]() ![]() |
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 |
|
![]() ![]() |
EShaderPermutationPrecacheRequest | ShouldPrecachePermutation
(
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
Constants
Name | Description |
---|---|
bInitializedSerializationHistory | Tracks whether serialization history for all shader types has been initialized. |