FMaterialShaderMapId

Contains all the information needed to uniquely identify a [FMaterialShaderMap](API\Runtime\Engine\FMaterialShaderMap).

Windows
MacOS
Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/MaterialShared.h

Include

#include "MaterialShared.h"

Syntax

class FMaterialShaderMapId

Remarks

Contains all the information needed to uniquely identify a FMaterialShaderMap.

Variables

Name Description

Public variable

FGuid

 

BaseMaterialId

The base material's StateId.

Public variable

FSHAHash

 

BasePropertyOverridesHash

A hash of the base property overrides for this material instance.

Public variable

FSHAHash

 

CookedShaderMapIdHash

Public variable

ERHIFeatureLeve...

 

FeatureLevel

Feature level that the shader map is going to be compiled for.

Public variable

EMaterialQualit...

 

QualityLevel

Quality level that this shader map is going to be compiled at.

Public variable

TArray< FGuid >

 

ReferencedFunctions

Guids of any functions the material was dependent on.

Public variable

TArray< FGuid >

 

ReferencedParameterCollections

Guids of any Parameter Collections the material was dependent on.

Public variable

TArray< FShader...

 

ShaderPipelineTypeDependencies

Shader pipeline types of shader pipelines that are inlined in this shader map in the DDC.

Public variable

TArray< FShader...

 

ShaderTypeDependencies

Shader types of shaders that are inlined in this shader map in the DDC.

Public variable

FSHAHash

 

TextureReferencesHash

Hash of the textures referenced by the uniform expressions in the shader map.

Public variable

EMaterialShader...

 

Usage

Indicates what use case this shader map will be for.

Public variable

TArray< FVertex...

 

VertexFactoryTypeDependencies

Vertex factory types of shaders that are inlined in this shader map in the DDC.

Constructors

Name Description

Public function

FMaterialShaderMapId()

Destructors

Name Description

Public function

~FMaterialShaderMapId()

Functions

Name Description

Public function Const

void

 

AppendKeyString

(
    FString& KeyString
)

Appends string representations of this Id to a key string.

Public function Const

bool

 

ContainsShaderPipelineType

(
    const FShaderPipelineType* Sha...
)

Returns true if the requested shader type is a dependency of this shader map Id.

Public function Const

bool

 

ContainsShaderType

(
    const FShaderType* ShaderType,
    int32 PermutationId
)

Returns true if the requested shader type is a dependency of this shader map Id.

Public function Const

bool

 

ContainsVertexFactoryType

(
    const FVertexFactoryType* VFTy...
)

Returns true if the requested vertex factory type is a dependency of this shader map Id.

Public function Const

void

 

GetMaterialHash

(
    FSHAHash& OutHash
)

Hashes the material-specific part of this shader map Id.

Public function Const

const FStati...

 

GetParameterSet()

Public function Const

const FStrin...

 

GetParameterSetLayerParametersKey()

Public function Const

SIZE_T

 

GetSizeBytes()

Public function Const

bool

 

IsCookedId()

Public function Const

bool

 

IsValid()

Public function

void

 

Serialize

(
    FArchive& Ar,
    bool bLoadedByCookedMaterial
)

Public function

void

 

SetShaderDependencies

(
    const TArray< FShaderType* >&...,
    const TArray< const FShaderPipeline...,
    const TArray< FVertexFactoryType&#...,
    EShaderPlatform ShaderPlatform
)

Public function

void

 

UpdateParameterSet

(
    const FStaticParameterSet& StaticP...
)

Updates the Id's static parameter set

Operators

Name Description

Public function Const

bool

 

operator!=

(
    const FMaterialShaderMapId& Refere...
)

Public function Const

bool

 

operator==

(
    const FMaterialShaderMapId& Refere...
)

Tests this set against another for equality, disregarding override settings.

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