FShaderPipelineType

Binding of a set of shader stages in a single pipeline.

Windows
MacOS
Linux

References

Module

RenderCore

Header

/Engine/Source/Runtime/RenderCore/Public/Shader.h

Include

#include "Shader.h"

Syntax

class FShaderPipelineType

Remarks

Binding of a set of shader stages in a single pipeline.

Variables

Name Description

Protected variable

const FShaderTy...

 

AllStages

Protected variable

bool

 

bShouldOptimizeUnusedOutputs

Protected variable

TLinkedList< FS...

 

GlobalListLink

Protected variable

uint32

 

HashIndex

Protected variable

const TCHAR ...

 

Name

Protected variable

TArray< const F...

 

Stages

Pipeline Stages, ordered from lowest (usually PS) to highest (VS). Guaranteed at least one stage (for VS).

Protected variable

FName

 

TypeName

Constructors

Name Description

Public function

FShaderPipelineType

(
    const TCHAR* InName,
    const FShaderType* InVertexSha...,
    const FShaderType* InHullShade...,
    const FShaderType* InDomainSha...,
    const FShaderType* InGeometryS...,
    const FShaderType* InPixelShad...,
    bool bInShouldOptimizeUnusedOutputs
)

Set bShouldOptimizeUnusedOutputs to true if we want unique FShaders for each shader pipeline Set bShouldOptimizeUnusedOutputs to false if the FShaders will point to the individual shaders in the map

Destructors

Name Description

Public function

~FShaderPipelineType()

Functions

Name Description

Public function Const

FName

 

GetFName()

Public function Const

TCHAR const ...

 

GetName()

Public function Static

TMap< FName,...

 

GetNameToTypeMap()

Public function Static

void

 

GetOutdatedTypes

(
    TArray< FShaderType* >& Outda...,
    TArray< const FShaderPipelineType&...,
    TArray< const FVertexFactoryType&#...
)

Gets a list of FShaderTypes & PipelineTypes whose source file no longer matches what that type was compiled with

Public function Const

const FShade...

 

GetShader

(
    EShaderFrequency Frequency
)

Public function Static

const FShade...

 

GetShaderPipelineTypeByName

(
    FName Name
)

Public function Static

TArray< cons...

 

GetShaderPipelineTypesByFilename

(
    const TCHAR* Filename
)

Public function Const

const FSHAHa...

 

GetSourceHash

(
    EShaderPlatform ShaderPlatform
)

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

Public function Const

const TArray...

 

GetStages()

Returns an array of valid stages, sorted from PS->GS->DS->HS->VS, no gaps if missing stages.

Public function Static

TLinkedList<...

 

GetTypeList()

Public function Const

bool

 

HasGeometry()

Public function Const

bool

 

HasPixelShader()

Public function Const

bool

 

HasTessellation()

Public function Static

void

 

Initialize()

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

Public function Const

bool

 

IsGlobalTypePipeline()

Check if this pipeline is built of specific types.

Public function Const

bool

 

IsMaterialTypePipeline()

Public function Const

bool

 

IsMeshMaterialTypePipeline()

Public function Const

bool

 

ShouldOptimizeUnusedOutputs

(
    EShaderPlatform Platform
)

Public function Static

void

 

Uninitialize()

Constants

Name

Description

bInitialized

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback