FMeshMaterialShaderType

A shader meta type for material-linked shaders which use a vertex factory.

Windows
MacOS
Linux

Inheritance Hierarchy

FShaderType

FMeshMaterialShaderType

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/MeshMaterialShaderType.h

Include

#include "MeshMaterialShaderType.h"

Syntax

class FMeshMaterialShaderType : public FShaderType

Remarks

A shader meta type for material-linked shaders which use a vertex factory.

Constructors

Name Description

Public function

FMeshMaterialShaderType

(
    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,
    EShaderPlatform Platform,
    const FMaterial * Material,
    FShaderCompilerEnvironment * Ma...,
    FVertexFactoryType * VertexFact...,
    const FShaderPipelineType * Sha...,
    TArray < TSharedRef < FShaderCommonCo ...,
    FString DebugDescription,
    FString DebugExtension
)

Enqueues a compilation for a new shader of this type.

Public function Static

void

 

BeginCompileShaderPipeline

(
    uint32 ShaderMapId,
    int32 PermutationId,
    EShaderPlatform Platform,
    const FMaterial * Material,
    FShaderCompilerEnvironment * Ma...,
    FVertexFactoryType * VertexFact...,
    const FShaderPipelineType * Sha...,
    const TArray < FMeshMaterialShaderTy ...,
    TArray < TSharedRef < FShaderCommonCo ...,
    FString DebugDescription,
    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...,
    const FVertexFactoryType * Vert...,
    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...,
    const FVertexFactoryType * Vert...,
    int32 PermutationId
)

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

Public function Static

bool

 

ShouldCompilePipeline

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

Public function Static

bool

 

ShouldCompileVertexFactoryPermutation

(
    const FVertexFactoryType * Vert...,
    EShaderPlatform Platform,
    const FMaterialShaderParameters & M...
)

Classes

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