FMaterialShaderType

A shader meta type for material-linked shaders.

Windows
MacOS
Linux

Inheritance Hierarchy

FShaderType

FMaterialShaderType

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/MaterialShaderType.h

Include

#include "MaterialShaderType.h"

Syntax

class FMaterialShaderType : public FShaderType

Remarks

A shader meta type for material-linked shaders.

Constructors

Name Description

Public function

FMaterialShaderType

(
    FTypeLayoutDesc& InTypeLayout,
    const TCHAR* InName,
    const TCHAR* InSourceFilename,
    const TCHAR* InFunctionName,
    uint32 InFrequency,
    int32 InTotalPermutationCount,
    ConstructSerializedType InConstruct...,
    ConstructCompiledType InConstructCo...,
    ModifyCompilationEnvironmentType In...,
    ShouldCompilePermutationType InShou...,
    ValidateCompiledResultType InValida...,
    uint32 InTypeSize,
    const FShaderParametersMetadata...
)

Functions

Name Description

Public function

FShaderCompi...

 

BeginCompileShader

(
    uint32 ShaderMapId,
    int32 PermutationId,
    const FMaterial* Material,
    FShaderCompilerEnvironment* Ma...,
    const FShaderPipelineType* Sha...,
    EShaderPlatform Platform,
    TArray< TSharedRef< FShaderCommonCo...,
    const FString& DebugDescription,
    const FString& DebugExtension
)

Enqueues a compilation for a new shader of this type.

Public function Static

void

 

BeginCompileShaderPipeline

(
    uint32 ShaderMapId,
    EShaderPlatform Platform,
    const FMaterial* Material,
    FShaderCompilerEnvironment* Ma...,
    const FShaderPipelineType* Sha...,
    const TArray< const FShaderType...,
    TArray< TSharedRef< FShaderCommonCo...,
    const FString& DebugDescription,
    const FString& DebugExtension
)

Public function

FShader *...

 

FinishCompileShader

(
    const FUniformExpressionSet& Unifo...,
    const FSHAHash& MaterialShaderMapH...,
    const FShaderCompileJob& CurrentJo...,
    const FShaderPipelineType* Sha...,
    const FString& InDebugDescription
)

Either creates a new instance of this type or returns an equivalent existing shader.

Protected function

void

 

SetupCompileEnvironment

(
    EShaderPlatform Platform,
    const FMaterialShaderParameters& M...,
    int32 PermutationId,
    FShaderCompilerEnvironment& Enviro...
)

Sets up the environment used to compile an instance of this shader type.

Public function Const

bool

 

ShouldCompilePermutation

(
    EShaderPlatform Platform,
    const FMaterialShaderParameters& M...,
    int32 PermutationId
)

Checks if the shader type should be cached for a particular platform and material.

Public function Static

bool

 

ShouldCompilePipeline

(
    const FShaderPipelineType* Sha...,
    EShaderPlatform Platform,
    const FMaterialShaderParameters& M...
)

Classes

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss