UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FGlobalShaderType Class Reference

#include <GlobalShader.h>

+ Inheritance diagram for FGlobalShaderType:

Public Types

typedef FShader::CompiledShaderInitializerType CompiledShaderInitializerType
 
- Public Types inherited from FShaderType
enum class  EShaderTypeForDynamicCast : uint32 { NumShaderTypes }
 
typedef class FShader *(* ConstructSerializedType) ()
 
typedef FShader *(* ConstructCompiledType) (const FShader::CompiledShaderInitializerType &Initializer)
 
typedef bool(* ShouldCompilePermutationType) (const FShaderPermutationParameters &)
 
typedef EShaderPermutationPrecacheRequest(* ShouldPrecachePermutationType) (const FShaderPermutationParameters &)
 
typedef ERayTracingPayloadType(* GetRayTracingPayloadTypeType) (const int32 PermutationId)
 
typedef const FShaderBindingLayout *(* GetShaderBindingLayoutType) (const FShaderPermutationParameters &)
 

Public Member Functions

 IMPLEMENT_SHADER_TYPE_CONSTRUCTOR (FGlobalShaderType, EShaderTypeForDynamicCast::Global, TEXT("global shader"))
 
bool ShouldCompilePermutation (EShaderPlatform Platform, int32 PermutationId, EShaderPermutationFlags Flags) const
 
EShaderPermutationPrecacheRequest ShouldPrecachePermutation (EShaderPlatform Platform, int32 PermutationId, EShaderPermutationFlags Flags) const
 
- Public Member Functions inherited from FShaderType
RENDERCORE_API FShaderType (EShaderTypeForDynamicCast InShaderTypeForDynamicCast, FTypeLayoutDesc &InTypeLayout, const TCHAR *InName, const TCHAR *InSourceFilename, const TCHAR *InFunctionName, uint32 InFrequency, int32 TotalPermutationCount, ConstructSerializedType InConstructSerializedRef, ConstructCompiledType InConstructCompiledRef, ShouldCompilePermutationType InShouldCompilePermutationRef, ShouldPrecachePermutationType InShouldPrecachePermutationRef, GetRayTracingPayloadTypeType InGetRayTracingPayloadTypeRef, GetShaderBindingLayoutType InGetShaderBindingLayoutTypeRef, uint32 InTypeSize, const FShaderParametersMetadata *InRootParametersMetadata)
 
virtual RENDERCORE_API ~FShaderType ()
 
RENDERCORE_API FShaderConstructForDeserialization () const
 
RENDERCORE_API FShaderConstructCompiled (const FShader::CompiledShaderInitializerType &Initializer) const
 
RENDERCORE_API bool ShouldCompilePermutation (const FShaderPermutationParameters &Parameters) const
 
RENDERCORE_API EShaderPermutationPrecacheRequest ShouldPrecachePermutation (const FShaderPermutationParameters &Parameters) const
 
RENDERCORE_API const FShaderBindingLayoutGetShaderBindingLayout (const FShaderPermutationParameters &Parameters) const
 
RENDERCORE_API ERayTracingPayloadType GetRayTracingPayloadType (const int32 PermutationId) const
 
RENDERCORE_API const FSHAHashGetSourceHash (EShaderPlatform ShaderPlatform) const
 
FGlobalShaderTypeGetGlobalShaderType ()
 
const FGlobalShaderTypeGetGlobalShaderType () const
 
FMaterialShaderTypeGetMaterialShaderType ()
 
const FMaterialShaderTypeGetMaterialShaderType () const
 
FMeshMaterialShaderTypeGetMeshMaterialShaderType ()
 
const FMeshMaterialShaderTypeGetMeshMaterialShaderType () const
 
const FNiagaraShaderTypeGetNiagaraShaderType () const
 
FNiagaraShaderTypeGetNiagaraShaderType ()
 
const FOpenColorIOShaderTypeGetOpenColorIOShaderType () const
 
FOpenColorIOShaderTypeGetOpenColorIOShaderType ()
 
const FComputeKernelShaderTypeGetComputeKernelShaderType () const
 
FComputeKernelShaderTypeGetComputeKernelShaderType ()
 
const FNNERuntimeIREEShaderTypeGetNNERuntimeIREEShaderType () const
 
FNNERuntimeIREEShaderTypeGetNNERuntimeIREEShaderType ()
 
const FGlobalShaderTypeAsGlobalShaderType () const
 
const FMaterialShaderTypeAsMaterialShaderType () const
 
const FMeshMaterialShaderTypeAsMeshMaterialShaderType () const
 
const FNiagaraShaderTypeAsNiagaraShaderType () const
 
const FOpenColorIOShaderTypeAsOpenColorIOShaderType () const
 
EShaderTypeForDynamicCast GetTypeForDynamicCast () const
 
const FTypeLayoutDescGetLayout () const
 
EShaderFrequency GetFrequency () const
 
const TCHARGetName () const
 
const FNameGetFName () const
 
const FHashedNameGetHashedName () const
 
const TCHARGetShaderFilename () const
 
const FHashedNameGetHashedShaderFilename () const
 
const TCHARGetFunctionName () const
 
uint32 GetTypeSize () const
 
int32 GetNumShaders () const
 
int32 GetPermutationCount () const
 
const FShaderParametersMetadataGetRootParametersMetadata () const
 
RENDERCORE_API void DumpDebugInfo ()
 

Static Public Member Functions

static RENDERCORE_API bool ShouldCompilePipeline (const FShaderPipelineType *ShaderPipelineType, EShaderPlatform Platform, EShaderPermutationFlags Flags)
 
- Static Public Member Functions inherited from FShaderType
static RENDERCORE_API TLinkedList< FShaderType * > *& GetTypeList ()
 
static RENDERCORE_API FShaderTypeGetShaderTypeByName (const TCHAR *Name)
 
static RENDERCORE_API TArray< const FShaderType * > GetShaderTypesByFilename (const TCHAR *Filename, bool bSearchAsRegexFilter=false)
 
static RENDERCORE_API TArray< const FShaderType * > GetShaderTypesByFilenameFilter (const TFunction< bool(const TCHAR *)> &InFilenameFilter)
 
static RENDERCORE_API TMap< FHashedName, FShaderType * > & GetNameToTypeMap ()
 
static RENDERCORE_API const TArray< FShaderType * > & GetSortedTypes (EShaderTypeForDynamicCast Type)
 
static RENDERCORE_API void Initialize (const TMap< FString, TArray< const TCHAR * > > &ShaderFileToUniformBufferVariables)
 
static RENDERCORE_API void Uninitialize ()
 

Friends

class FGlobalShaderTypeCompiler
 

Detailed Description

A shader meta type for the simplest shaders; shaders which are not material or vertex factory linked. There should only a single instance of each simple shader type.

Member Typedef Documentation

◆ CompiledShaderInitializerType

Member Function Documentation

◆ IMPLEMENT_SHADER_TYPE_CONSTRUCTOR()

FGlobalShaderType::IMPLEMENT_SHADER_TYPE_CONSTRUCTOR ( FGlobalShaderType  ,
EShaderTypeForDynamicCast::Global  ,
TEXT("global shader"  
)

◆ ShouldCompilePermutation()

bool FGlobalShaderType::ShouldCompilePermutation ( EShaderPlatform  Platform,
int32  PermutationId,
EShaderPermutationFlags  Flags 
) const
inline

Checks if the shader type should be cached for a particular platform.

Parameters
Platform- The platform to check.
Returns
True if this shader type should be cached.

◆ ShouldCompilePipeline()

bool FGlobalShaderType::ShouldCompilePipeline ( const FShaderPipelineType ShaderPipelineType,
EShaderPlatform  Platform,
EShaderPermutationFlags  Flags 
)
static

◆ ShouldPrecachePermutation()

EShaderPermutationPrecacheRequest FGlobalShaderType::ShouldPrecachePermutation ( EShaderPlatform  Platform,
int32  PermutationId,
EShaderPermutationFlags  Flags 
) const
inline

Friends And Related Symbol Documentation

◆ FGlobalShaderTypeCompiler

friend class FGlobalShaderTypeCompiler
friend

The documentation for this class was generated from the following files: