FShaderMapContent

A collection of shaders of different types

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

RenderCore

Header

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

Include

#include "Shader.h"

Syntax

class FShaderMapContent

Remarks

A collection of shaders of different types

Variables

Name Description

Protected variable

TEnumAsByte < ES ...

 

Platform

The platform this shader map was compiled with

Protected variable

FMemoryImageHas ...

 

ShaderHash

Protected variable

TMemoryImageArr ...

 

ShaderPermutations

Protected variable

TMemoryImageArr ...

 

ShaderPipelines

Protected variable

TMemoryImageArr ...

 

Shaders

Protected variable

TMemoryImageArr ...

 

ShaderTypes

Constructors

Name Description

Public function

FShaderMapContent

(
    EShaderPlatform InPlatform
)

Default constructor.

Destructors

Name Description

Public function

~FShaderMapContent()

Destructor ensures pipelines cleared up.

Functions

Name Description

Public function

void

 

AddShader

(
    const FHashedName & TypeName,
    int32 PermutationId,
    FShader * Shader
)

Public function

void

 

AddShaderPipeline

(
    FShaderPipeline * Pipeline
)

Public function

void

 

Empty()

Clears out all shaders and deletes shader pipelines held in the map

Protected function

void

 

EmptyShaderPipelines()

Public function

void

 

Finalize

(
    const FShaderMapResourceCode * ...
)

Public function

FShader *...

 

FindOrAddShader

(
    const FHashedName & TypeName,
    int32 PermutationId,
    FShader * Shader
)

Public function

FShaderPipel ...

 

FindOrAddShaderPipeline

(
    FShaderPipeline * Pipeline
)

Public function Const

uint32

 

GetMaxNumInstructionsForShader

(
    const FShaderMapBase & InShaderMap,
    FShaderType * ShaderType
)

Public function Const

uint32

 

GetMaxTextureSamplersShaderMap

(
    const FShaderMapBase & InShaderMap
)

Public function Const

uint32

 

GetNumShaderPipelines()

Public function Const

uint32

 

GetNumShaders()

Public function Const

void

 

GetOutdatedTypes

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

Public function Const

FShader *...

 

GetShader

(
    const FHashedName & TypeName,
    int32 PermutationId
)

Finds the shader with the given type name. May return NULL.

Public function Const

FShader *...

 

GetShader

(
    FShaderType * ShaderType,
    int32 PermutationId
)

Finds the shader with the given type. May return NULL.

Public function Const

ShaderType &...

 

GetShader

(
    const typename ShaderType::FPermuta...
)

Finds the shader with the given type. Asserts on failure.

Public function Const

ShaderType &...

 

GetShader

(
    int32 PermutationId
)

Finds the shader with the given type. Asserts on failure.

Public function Const

void

 

GetShaderList

(
    const FShaderMapBase & InShaderMap,
    const FSHAHash & InMaterialShaderMa...,
    TMap < FShaderId , TShaderRef < FShade ...
)

Builds a list of the shaders in a shader map.

Public function Const

void

 

GetShaderList

(
    const FShaderMapBase & InShaderMap,
    TMap < FHashedName , TShaderRef < FSha ...
)

Builds a list of the shaders in a shader map. Key is FShaderType::TypeName

Public function Const

FShaderPipel ...

 

GetShaderPipeline

(
    const FShaderPipelineType * Pip...
)

Public function Const

FShaderPipel ...

 

GetShaderPipeline

(
    const FHashedName & PipelineTypeNam...
)

Public function Const

void

 

GetShaderPipelineList

(
    const FShaderMapBase & InShaderMap,
    TArray < FShaderPipelineRef >& OutS...,
    FShaderPipeline::EFilter Filter
)

Builds a list of the shader pipelines in a shader map.

Public function Const

TArrayView < ...

 

GetShaderPipelines()

Public function Const

EShaderPlatf ...

 

GetShaderPlatform()

Public function Const

TArrayView < ...

 

GetShaders()

Public function Const

const FTypeL ...

 

GetTypeLayout()

Public function Const

bool

 

HasShader

(
    const FShaderType * Type,
    int32 PermutationId
)

Public function Const

bool

 

HasShader

(
    const FHashedName & TypeName,
    int32 PermutationId
)

Finds the shader with the given type.

Public function Const

bool

 

HasShaderPipeline

(
    const FShaderPipelineType * Pip...
)

Public function Const

bool

 

HasShaderPipeline

(
    const FHashedName & PipelineTypeNam...
)

Public function Const

bool

 

IsEmpty()

Public function

void

 

RemoveShaderPipelineType

(
    const FShaderPipelineType * Sha...
)

Public function

void

 

RemoveShaderTypePermutaion

(
    const FHashedName & TypeName,
    int32 PermutationId
)

Removes the shader of the given type from the shader map

Public function

void

 

RemoveShaderTypePermutaion

(
    const FShaderType * Type,
    int32 PermutationId
)

Public function

void

 

SaveShaderStableKeys

(
    const FShaderMapBase & InShaderMap,
    EShaderPlatform TargetShaderPlatfor...,
    const FStableShaderKeyAndValue & Sa...
)

Public function Static

FTypeLayoutD ...

 

StaticGetTypeLayout()

Public function Const

void

 

UpdateHash

(
    FSHA1 & Hasher
)

Public function

void

 

Validate

(
    const FShaderMapBase & InShaderMap
)

Classes

Typedefs

Constants

Name

Description

CounterBase

InterfaceType

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