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

#include <Shader.h>

Public Member Functions

RENDERCORE_API FShaderPipelineType (const TCHAR *InName, const FShaderType *InVertexOrMeshShader, const FShaderType *InGeometryOrAmplificationShader, const FShaderType *InPixelShader, bool bInIsMeshPipeline, bool bInShouldOptimizeUnusedOutputs)
 
RENDERCORE_API ~FShaderPipelineType ()
 
bool HasMeshShader () const
 
bool HasGeometry () const
 
bool HasPixelShader () const
 
const FShaderTypeGetShader (EShaderFrequency Frequency) const
 
FName GetFName () const
 
TCHAR const * GetName () const
 
const FHashedNameGetHashedName () const
 
const FHashedNameGetHashedPrimaryShaderFilename () const
 
const TArray< const FShaderType * > & GetStages () const
 
bool IsGlobalTypePipeline () const
 
bool IsMaterialTypePipeline () const
 
bool IsMeshMaterialTypePipeline () const
 
RENDERCORE_API bool ShouldOptimizeUnusedOutputs (EShaderPlatform Platform) const
 
RENDERCORE_API const FSHAHashGetSourceHash (EShaderPlatform ShaderPlatform) const
 
RENDERCORE_API bool ShouldCompilePermutation (const FShaderPermutationParameters &Parameters) const
 
RENDERCORE_API EShaderPermutationPrecacheRequest ShouldPrecachePermutation (const FShaderPermutationParameters &Parameters) const
 

Static Public Member Functions

static RENDERCORE_API TLinkedList< FShaderPipelineType * > *& GetTypeList ()
 
static RENDERCORE_API const TArray< FShaderPipelineType * > & GetSortedTypes (FShaderType::EShaderTypeForDynamicCast Type)
 
static RENDERCORE_API TMap< FHashedName, FShaderPipelineType * > & GetNameToTypeMap ()
 
static RENDERCORE_API const FShaderPipelineTypeGetShaderPipelineTypeByName (const FHashedName &Name)
 
static RENDERCORE_API void Initialize ()
 
static RENDERCORE_API TArray< const FShaderPipelineType * > GetShaderPipelineTypesByFilename (const TCHAR *Filename, bool bSearchAsRegexFilter=false)
 
static RENDERCORE_API TArray< const FShaderPipelineType * > GetShaderPipelineTypesByFilenameFilter (const TFunction< bool(const TCHAR *)> &InFilenameFilter)
 

Protected Attributes

const TCHAR *const Name
 
FName TypeName
 
FHashedName HashedName
 
FHashedName HashedPrimaryShaderFilename
 
TArray< const FShaderType * > Stages
 
const FShaderTypeAllStages [SF_NumFrequencies]
 
TLinkedList< FShaderPipelineType * > GlobalListLink
 
uint32 HashIndex
 
bool bShouldOptimizeUnusedOutputs
 

Static Protected Attributes

static RENDERCORE_API bool bInitialized = false
 

Friends

RENDERCORE_API friend FArchiveoperator<< (FArchive &Ar, const FShaderPipelineType *&Ref)
 
uint32 GetTypeHash (FShaderPipelineType *Ref)
 
uint32 GetTypeHash (const FShaderPipelineType *Ref)
 

Constructor & Destructor Documentation

◆ FShaderPipelineType()

FShaderPipelineType::FShaderPipelineType ( const TCHAR InName,
const FShaderType InVertexOrMeshShader,
const FShaderType InGeometryOrAmplificationShader,
const FShaderType InPixelShader,
bool  bInIsMeshPipeline,
bool  bInShouldOptimizeUnusedOutputs 
)

◆ ~FShaderPipelineType()

FShaderPipelineType::~FShaderPipelineType ( )

Member Function Documentation

◆ GetFName()

FName FShaderPipelineType::GetFName ( ) const
inline

◆ GetHashedName()

const FHashedName & FShaderPipelineType::GetHashedName ( ) const
inline

◆ GetHashedPrimaryShaderFilename()

const FHashedName & FShaderPipelineType::GetHashedPrimaryShaderFilename ( ) const
inline

◆ GetName()

TCHAR const * FShaderPipelineType::GetName ( ) const
inline

◆ GetNameToTypeMap()

TMap< FHashedName, FShaderPipelineType * > & FShaderPipelineType::GetNameToTypeMap ( )
static
Returns
The global shader pipeline name to type map

◆ GetShader()

const FShaderType * FShaderPipelineType::GetShader ( EShaderFrequency  Frequency) const
inline

◆ GetShaderPipelineTypeByName()

const FShaderPipelineType * FShaderPipelineType::GetShaderPipelineTypeByName ( const FHashedName Name)
static

◆ GetShaderPipelineTypesByFilename()

TArray< const FShaderPipelineType * > FShaderPipelineType::GetShaderPipelineTypesByFilename ( const TCHAR Filename,
bool  bSearchAsRegexFilter = false 
)
static

◆ GetShaderPipelineTypesByFilenameFilter()

TArray< const FShaderPipelineType * > FShaderPipelineType::GetShaderPipelineTypesByFilenameFilter ( const TFunction< bool(const TCHAR *)> &  InFilenameFilter)
static

◆ GetSortedTypes()

const TArray< FShaderPipelineType * > & FShaderPipelineType::GetSortedTypes ( FShaderType::EShaderTypeForDynamicCast  Type)
static

◆ GetSourceHash()

const FSHAHash & FShaderPipelineType::GetSourceHash ( EShaderPlatform  ShaderPlatform) const

Calculates a Hash based on this shader pipeline type stages' source code and includes

◆ GetStages()

const TArray< const FShaderType * > & FShaderPipelineType::GetStages ( ) const
inline

◆ GetTypeList()

TLinkedList< FShaderPipelineType * > *& FShaderPipelineType::GetTypeList ( )
static

◆ HasGeometry()

bool FShaderPipelineType::HasGeometry ( ) const
inline

◆ HasMeshShader()

bool FShaderPipelineType::HasMeshShader ( ) const
inline

◆ HasPixelShader()

bool FShaderPipelineType::HasPixelShader ( ) const
inline

◆ Initialize()

void FShaderPipelineType::Initialize ( )
static

Initialize static members, this must be called before any shader types are created.

◆ IsGlobalTypePipeline()

bool FShaderPipelineType::IsGlobalTypePipeline ( ) const
inline

◆ IsMaterialTypePipeline()

bool FShaderPipelineType::IsMaterialTypePipeline ( ) const
inline

◆ IsMeshMaterialTypePipeline()

bool FShaderPipelineType::IsMeshMaterialTypePipeline ( ) const
inline

◆ ShouldCompilePermutation()

bool FShaderPipelineType::ShouldCompilePermutation ( const FShaderPermutationParameters Parameters) const

◆ ShouldOptimizeUnusedOutputs()

bool FShaderPipelineType::ShouldOptimizeUnusedOutputs ( EShaderPlatform  Platform) const

◆ ShouldPrecachePermutation()

EShaderPermutationPrecacheRequest FShaderPipelineType::ShouldPrecachePermutation ( const FShaderPermutationParameters Parameters) const

Friends And Related Symbol Documentation

◆ GetTypeHash [1/2]

uint32 GetTypeHash ( const FShaderPipelineType Ref)
friend

◆ GetTypeHash [2/2]

uint32 GetTypeHash ( FShaderPipelineType Ref)
friend

Hashes a pointer to a shader type.

◆ operator<<

RENDERCORE_API friend FArchive & operator<< ( FArchive Ar,
const FShaderPipelineType *&  Ref 
)
friend

Serializes a shader type reference by name.

Serializes a reference to a shader pipeline type.

Member Data Documentation

◆ AllStages

const FShaderType* FShaderPipelineType::AllStages[SF_NumFrequencies]
protected

◆ bInitialized

bool FShaderPipelineType::bInitialized = false
staticprotected

◆ bShouldOptimizeUnusedOutputs

bool FShaderPipelineType::bShouldOptimizeUnusedOutputs
protected

◆ GlobalListLink

TLinkedList<FShaderPipelineType*> FShaderPipelineType::GlobalListLink
protected

◆ HashedName

FHashedName FShaderPipelineType::HashedName
protected

◆ HashedPrimaryShaderFilename

FHashedName FShaderPipelineType::HashedPrimaryShaderFilename
protected

◆ HashIndex

uint32 FShaderPipelineType::HashIndex
protected

◆ Name

const TCHAR* const FShaderPipelineType::Name
protected

◆ Stages

TArray<const FShaderType*> FShaderPipelineType::Stages
protected

◆ TypeName

FName FShaderPipelineType::TypeName
protected

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