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

#include <Shader.h>

Public Types

enum  EFilter { EAll , EOnlyShared , EOnlyUnique }
 

Public Member Functions

 FShaderPipeline (const FShaderPipelineType *InType)
 
RENDERCORE_API ~FShaderPipeline ()
 
RENDERCORE_API void AddShader (FShader *Shader, int32 PermutationId)
 
RENDERCORE_API FShaderFindOrAddShader (FShader *Shader, int32 PermutationId)
 
uint32 GetNumShaders () const
 
template<typename ShaderType >
ShaderType * GetShader (const FShaderMapPointerTable &InPtrTable)
 
FShaderGetShader (EShaderFrequency Frequency)
 
const FShaderGetShader (EShaderFrequency Frequency) const
 
TArray< TShaderRef< FShader > > GetShaders (const FShaderMapBase &InShaderMap) const
 
RENDERCORE_API void Validate (const FShaderPipelineType *InPipelineType) const
 
RENDERCORE_API void Finalize (const FShaderMapResourceCode *Code)
 
 LAYOUT_FIELD (FHashedName, TypeName)
 
 LAYOUT_ARRAY (TMemoryImagePtr< FShader >, Shaders, SF_NumGraphicsFrequencies)
 
 LAYOUT_ARRAY (int32, PermutationIds, SF_NumGraphicsFrequencies)
 

Member Enumeration Documentation

◆ EFilter

Enumerator
EAll 
EOnlyShared 
EOnlyUnique 

Constructor & Destructor Documentation

◆ FShaderPipeline()

FShaderPipeline::FShaderPipeline ( const FShaderPipelineType InType)
inlineexplicit

◆ ~FShaderPipeline()

FShaderPipeline::~FShaderPipeline ( )

Member Function Documentation

◆ AddShader()

void FShaderPipeline::AddShader ( FShader Shader,
int32  PermutationId 
)

◆ Finalize()

void FShaderPipeline::Finalize ( const FShaderMapResourceCode Code)

◆ FindOrAddShader()

FShader * FShaderPipeline::FindOrAddShader ( FShader Shader,
int32  PermutationId 
)

◆ GetNumShaders()

uint32 FShaderPipeline::GetNumShaders ( ) const
inline

◆ GetShader() [1/3]

template<typename ShaderType >
ShaderType * FShaderPipeline::GetShader ( const FShaderMapPointerTable InPtrTable)
inline

◆ GetShader() [2/3]

FShader * FShaderPipeline::GetShader ( EShaderFrequency  Frequency)
inline

◆ GetShader() [3/3]

const FShader * FShaderPipeline::GetShader ( EShaderFrequency  Frequency) const
inline

◆ GetShaders()

TArray< TShaderRef< FShader > > FShaderPipeline::GetShaders ( const FShaderMapBase InShaderMap) const
inline

◆ LAYOUT_ARRAY() [1/2]

FShaderPipeline::LAYOUT_ARRAY ( int32  ,
PermutationIds  ,
SF_NumGraphicsFrequencies   
)

◆ LAYOUT_ARRAY() [2/2]

FShaderPipeline::LAYOUT_ARRAY ( TMemoryImagePtr< FShader ,
Shaders  ,
SF_NumGraphicsFrequencies   
)

◆ LAYOUT_FIELD()

FShaderPipeline::LAYOUT_FIELD ( FHashedName  ,
TypeName   
)

Saves stable keys for the shaders in the pipeline

◆ Validate()

void FShaderPipeline::Validate ( const FShaderPipelineType InPipelineType) const

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