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

#include <GlobalShader.h>

+ Inheritance diagram for FGlobalShader:

Public Types

using ShaderMetaType = FGlobalShaderType
 
using FPermutationParameters = FGlobalShaderPermutationParameters
 
- Public Types inherited from FShader
using FPermutationDomain = FShaderPermutationNone
 
using FPermutationParameters = FShaderPermutationParameters
 
using CompiledShaderInitializerType = FShaderCompiledShaderInitializerType
 
using ShaderMetaType = FShaderType
 
using ShaderStatKeyType = FMemoryImageName
 
using FShaderStatisticMap = TMemoryImageMap< ShaderStatKeyType, FShaderStatVariant >
 

Public Member Functions

 FGlobalShader ()=default
 
RENDERCORE_API FGlobalShader (const ShaderMetaType::CompiledShaderInitializerType &Initializer)
 
template<typename TViewUniformShaderParameters >
void SetParameters (FRHIBatchedShaderParameters &BatchedParameters, FRHIUniformBuffer *ViewUniformBuffer)
 
- Public Member Functions inherited from FShader
RENDERCORE_API FShader ()
 
RENDERCORE_API FShader (const CompiledShaderInitializerType &Initializer)
 
RENDERCORE_API ~FShader ()
 
RENDERCORE_API const FSHAHashGetHash () const
 
RENDERCORE_API const FSHAHashGetVertexFactoryHash () const
 
RENDERCORE_API const FSHAHashGetOutputHash () const
 
uint32 GetSortKey () const
 
RENDERCORE_API void Finalize (const FShaderMapResourceCode *Code)
 
FShaderTypeGetType (const FShaderMapPointerTable &InPointerTable) const
 
FShaderTypeGetType (const FPointerTableBase *InPointerTable) const
 
FVertexFactoryTypeGetVertexFactoryType (const FShaderMapPointerTable &InPointerTable) const
 
FVertexFactoryTypeGetVertexFactoryType (const FPointerTableBase *InPointerTable) const
 
FShaderTypeGetTypeUnfrozen () const
 
int32 GetResourceIndex () const
 
EShaderPlatform GetShaderPlatform () const
 
EShaderFrequency GetFrequency () const
 
const FShaderTarget GetTarget () const
 
bool IsFrozen () const
 
uint32 GetNumInstructions () const
 
uint32 GetNumTextureSamplers () const
 
uint32 GetCodeSize () const
 
void SetNumInstructions (uint32 Value)
 
template<typename UniformBufferStructType >
const TShaderUniformBufferParameter< UniformBufferStructType > & GetUniformBufferParameter () const
 
const FShaderUniformBufferParameterGetUniformBufferParameter (const FShaderParametersMetadata *SearchStruct) const
 
const FShaderUniformBufferParameterGetUniformBufferParameter (const FHashedName SearchName) const
 
RENDERCORE_API const FShaderParametersMetadataFindAutomaticallyBoundUniformBufferStruct (int32 BaseIndex) const
 
RENDERCORE_API void DumpDebugInfo (const FShaderMapPointerTable &InPtrTable)
 
 LAYOUT_FIELD (FShaderParameterBindings, Bindings)
 
 LAYOUT_FIELD (FShaderParameterMapInfo, ParameterMapInfo)
 

Static Public Member Functions

static void ModifyCompilationEnvironment (const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &Environment)
 
static bool ShouldCompilePermutation (const FShaderPermutationParameters &)
 
static EShaderPermutationPrecacheRequest ShouldPrecachePermutation (const FShaderPermutationParameters &Parameters)
 
- Static Public Member Functions inherited from FShader
static void ModifyCompilationEnvironment (const FShaderPermutationParameters &, FShaderCompilerEnvironment &)
 
static const FShaderBindingLayoutGetShaderBindingLayout (const FShaderPermutationParameters &)
 
static bool ShouldCompilePermutation (const FShaderPermutationParameters &)
 
static EShaderPermutationPrecacheRequest ShouldPrecachePermutation (const FShaderPermutationParameters &Parameters)
 
static bool ValidateCompiledResult (EShaderPlatform InPlatform, const FShaderParameterMap &InParameterMap, TArray< FString > &OutError)
 
static EShaderCompileJobPriority GetOverrideJobPriority ()
 
static ERayTracingPayloadType GetRayTracingPayloadType (const int32 PermutationId)
 
static const FShaderParametersMetadataGetRootParametersMetadata ()
 

Additional Inherited Members

- Protected Member Functions inherited from FShader
 LAYOUT_FIELD (TMemoryImageArray< FHashedName >, UniformBufferParameterStructs)
 
 LAYOUT_FIELD (TMemoryImageArray< FShaderUniformBufferParameter >, UniformBufferParameters)
 
 LAYOUT_FIELD_EDITORONLY (FSHAHash, OutputHash)
 
 LAYOUT_FIELD_EDITORONLY (FSHAHash, VFSourceHash)
 
 LAYOUT_FIELD_EDITORONLY (FSHAHash, SourceHash)
 

Detailed Description

FGlobalShader

Global shaders derive from this class to set their default recompile group as a global one

Member Typedef Documentation

◆ FPermutationParameters

◆ ShaderMetaType

Constructor & Destructor Documentation

◆ FGlobalShader() [1/2]

FGlobalShader::FGlobalShader ( )
default

◆ FGlobalShader() [2/2]

FGlobalShader::FGlobalShader ( const ShaderMetaType::CompiledShaderInitializerType Initializer)

Member Function Documentation

◆ ModifyCompilationEnvironment()

static void FGlobalShader::ModifyCompilationEnvironment ( const FGlobalShaderPermutationParameters Parameters,
FShaderCompilerEnvironment Environment 
)
inlinestatic

◆ SetParameters()

void FGlobalShader::SetParameters ( FRHIBatchedShaderParameters BatchedParameters,
FRHIUniformBuffer ViewUniformBuffer 
)
inline

◆ ShouldCompilePermutation()

static bool FShader::ShouldCompilePermutation ( const FShaderPermutationParameters )
inlinestatic

Can be overridden by FShader subclasses to determine whether a specific permutation should be compiled.

◆ ShouldPrecachePermutation()

static EShaderPermutationPrecacheRequest FShader::ShouldPrecachePermutation ( const FShaderPermutationParameters Parameters)
inlinestatic

Can be overridden by FShader subclasses to determine whether a specific permutation should be precached.


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