FMaterialUniformExpressionTexture

A texture expression.

Windows
MacOS
Linux

Inheritance Hierarchy

FRefCountedObject

FMaterialUniformExpression

FMaterialUniformExpressionTexture

References

Module

Engine

Header

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

Include

#include "MaterialShared.h"

Syntax

class FMaterialUniformExpressionTexture : public FMaterialUniformExpression

Remarks

A texture expression.

Variables

Name Description

Protected variable

bool

 

bVirtualTexture

Virtual texture flag used only for unique serialization

Protected variable

int16

 

PageTableLayerIndex

Page table layer index in virtual texture stack if preallocated

Protected variable

ESamplerSourceMode

 

SamplerSource

Sampler state object source for this expression

Protected variable

EMaterialSamplerType

 

SamplerType

Sampler logic for this expression

Protected variable

int32

 

TextureIndex

Index into FMaterial::GetReferencedTextures

Protected variable

int16

 

TextureLayerIndex

Texture layer index in virtual texture stack if preallocated

Protected variable

UTexture *

 

TransientOverrideValue_GameThread

Texture that may be used in the editor for overriding the texture but never saved to disk, accessible only by the game thread!

Protected variable

UTexture *

 

TransientOverrideValue_RenderThread

Texture that may be used in the editor for overriding the texture but never saved to disk, accessible only by the rendering thread!

Constructors

Name Description

Public function

FMaterialUniformExpressionTexture()

Public function

FMaterialUniformExpressionTexture

(
    int32 InTextureIndex,
    EMaterialSamplerType InSamplerType,
    ESamplerSourceMode InSamplerSource,
    bool InVirtualTexture
)

Public function

FMaterialUniformExpressionTexture

(
    int32 InTextureIndex,
    int16 InTextureLayerIndex,
    int16 InPageTableLayerIndex,
    EMaterialSamplerType InSamplerType
)

Functions

Name Description

Public function Virtual Const

void

 

GetGameThreadTextureValue

(
    const UMaterialInterface* MaterialInterface,
    const FMaterial& Material,
    UTexture*& OutValue,
    bool bAllowOverride
)

Get the UTexture referenced by this expression including any transient override logic.

Public function Const

int32

 

GetPageTableLayerIndex()

Gets the page table channel index in the virtual texture stack if this is fixed.

Public function Const

ESamplerSourceMode

 

GetSamplerSource()

Get the sampler state object to use (globally shared or from texture asset).

Public function Const

EMaterialSamplerType

 

GetSamplerType()

Get the sampling/decoding logic to compile in the shader for this texture.

Public function Const

int32

 

GetTextureIndex()

Gets texture index which is the index in the full set of referenced textures for this material.

Public function Const

int32

 

GetTextureLayerIndex()

Gets the texture layer index in the virtual texture stack if this is fixed.

Public function Virtual

FMaterialUniformExpressionTextureParameter *

 

GetTextureParameterUniformExpression()

Public function Virtual Const

void

 

GetTextureValue

(
    const FMaterialRenderContext& Context,
    const FMaterial& Material,
    const URuntimeVirtualTexture*& OutValue
)

Get the URuntimeVirtualTexture referenced by this expression (can be a nullptr).

Public function Virtual Const

void

 

GetTextureValue

(
    const FMaterialRenderContext& Context,
    const FMaterial& Material,
    const UTexture*& OutValue
)

Get the UTexture referenced by this expression (can be a nullptr).

Public function Static

FMaterialUniformExpression *

 

SerializationConstructor()

Public function

void

 

SetTransientOverrideTextureValue

(
    UTexture* InOverrideTexture
)

Sets an override texture.

Overridden from FMaterialUniformExpression

Constants

Name

Description

StaticType

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