FMaterialHLSLGenerator

MaterialHLSLGenerator is a bridge between a material, and HLSLTree.

Choose your operating system:

Windows

macOS

Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/MaterialHLSLGenerator.h

Include

#include "MaterialHLSLGenerator.h"

Syntax

class FMaterialHLSLGenerator

Remarks

MaterialHLSLGenerator is a bridge between a material, and HLSLTree. It facilitates generating HLSL source code for a given material, using HLSLTree

Constructors

Name Description

Public function

FMaterialHLSLGenerator

(
    UMaterial* InTargetMaterial,
    const FMaterialCompileTargetParamet...,
    UE::HLSLTree::FTree& InOutTree
)

Public function

FMaterialHLSLGenerator

(
    UMaterialFunctionInterface* In...,
    const FMaterialCompileTargetParamet...,
    UE::HLSLTree::FTree& InOutTree
)

Functions

Name Description

Public function

void

 

AcquireErrors

(
    TArray< FString >& OutCompileError...,
    TArray< UMaterialExpression* >...
)

Retrieve the compile errors from the generator

Public function

UE::HLSLTree...

 

AcquireExpression

(
    UE::HLSLTree::FScope& Scope,
    UMaterialExpression* MaterialE...,
    int32 OutputIndex
)

Returns the appropriate HLSLNode representing the given UMaterialExpression.

Public function

UE::HLSLTree...

 

AcquireFunctionCall

Public function

T *

 

AcquireGlobalData()

Public function

UE::HLSLTree...

 

AcquireLocalValue

(
    UE::HLSLTree::FScope& Scope,
    const FName& LocalName
)

Public function

UE::HLSLTree...

 

AcquireTextureDeclaration

(
    UE::HLSLTree::FScope& Scope,
    UMaterialExpression* MaterialE...,
    int32 OutputIndex
)

Public function

UE::HLSLTree...

 

AcquireTextureDeclaration

(
    const UE::HLSLTree::FTextureDescrip...
)

Returns a declaration to access the given texture, with no parameter

Public function

UE::HLSLTree...

 

AcquireTextureParameterDeclaration

(
    const FName& Name,
    const UE::HLSLTree::FTextureDescrip...
)

Returns a declaration to access the given texture parameter

Public function

EMaterialGen...

 

Error

(
    const FString& Message
)

Public function

EMaterialGen...

 

Errorf

(
    const FormatType& Format,
    ArgTypes... Args
)

Public function

bool

 

Finalize()

Public function

T *

 

FindExpressionData

(
    const UMaterialExpression* Mat...
)

Public function

bool

 

GenerateAssignLocal

(
    UE::HLSLTree::FScope& Scope,
    const FName& LocalName,
    UE::HLSLTree::FExpression* Val...
)

Public function

bool

 

GenerateResult

(
    UE::HLSLTree::FScope& Scope
)

Public function

bool

 

GenerateStatements

(
    UE::HLSLTree::FScope& Scope,
    UMaterialExpression* MaterialE...
)

Public function Const

const FMater...

 

GetCompileTarget()

Public function Const

UE::HLSLTree...

 

GetTree()

Public function

UE::HLSLTree...

 

NewCast

(
    UE::HLSLTree::FScope& Scope,
    UE::Shader::EValueType Type,
    UE::HLSLTree::FExpression* Inp...,
    UE::HLSLTree::ECastFlags Flags
)

Public function

UE::HLSLTree...

 

NewConstant

(
    const UE::Shader::FValue& Value
)

Public function

T *

 

NewExpressionData

(
    const UMaterialExpression* Mat...,
    ArgTypes... Args
)

Public function

UE::HLSLTree...

 

NewFunctionInput

(
    UE::HLSLTree::FScope& Scope,
    int32 InputIndex,
    UMaterialExpressionFunctionInput&#...
)

Public function

UE::HLSLTree...

 

NewJoinedScope

(
    UE::HLSLTree::FScope& Scope
)

Public function

UE::HLSLTree...

 

NewScope

(
    UE::HLSLTree::FScope& Scope,
    EMaterialNewScopeFlag Flags
)

Public function

UE::HLSLTree...

 

NewSwizzle

(
    UE::HLSLTree::FScope& Scope,
    const UE::HLSLTree::FSwizzleParamet...,
    UE::HLSLTree::FExpression* Inp...
)

Public function

UE::HLSLTree...

 

NewTexCoord

(
    UE::HLSLTree::FScope& Scope,
    int32 Index
)

Constants

Name

Description

MaxNumPreviousScopes