FMaterialRenderProxy

A material render proxy used by the renderer.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

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

Include

#include "MaterialShared.h"

Syntax

class FMaterialRenderProxy : public FRenderResource

Remarks

A material render proxy used by the renderer.

Variables

Name Description

Public variable

FImmutableSampl...

 

ImmutableSamplerState

Cached external texture immutable samplers

Public variable

FUniformExpress...

 

UniformExpressionCache

Cached uniform expressions.

Constructors

Name Description

Public function

FMaterialRenderProxy()

Default constructor.

Destructors

Name Description

Public function Virtual

~FMaterialRenderProxy()

Destructor.

Functions

Name Description

Public function

void

 

CacheUniformExpressions

(
    bool bRecreateUniformBuffer
)

Caches uniform expressions for efficient runtime evaluation.

Public function

void

 

CacheUniformExpressions_GameThread

(
    bool bRecreateUniformBuffer
)

Enqueues a rendering command to cache uniform expressions for efficient runtime evaluation.

Public function Const

void

 

EvaluateUniformExpressions

(
    FUniformExpressionCache& OutUnifor...,
    const FMaterialRenderContext& Cont...,
    FRHICommandList* CommandListIf...
)

Evaluates uniform expressions and stores them in OutUniformExpressionCache.

Public function Const

const FMater...

 

GetMaterial

(
    ERHIFeatureLevel::Type InFeatureLev...
)

These functions should only be called by the rendering thread.

Public function Virtual Const

UMaterialInt...

 

GetMaterialInterface()

Public function Virtual Const

FMaterial &#...

 

GetMaterialNoFallback

(
    ERHIFeatureLevel::Type InFeatureLev...
)

Returns the FMaterial, without using a fallback if the FMaterial doesn't have a valid shader map.

Public function Static

const TSet< ...

 

GetMaterialRenderProxyMap()

Public function Const

const FMater...

 

GetMaterialWithFallback

(
    ERHIFeatureLevel::Type InFeatureLev...,
    const FMaterialRenderProxy*& O...
)

Finds the FMaterial to use for rendering this FMaterialRenderProxy.

Public function Const

bool

 

GetScalarValue

(
    const FMaterialParameterInfo& Para...,
    float* OutValue,
    const FMaterialRenderContext& Cont...
)

Public function Const

const USubsu...

 

GetSubsurfaceProfileRT()

Public function Const

bool

 

GetTextureValue

(
    const FMaterialParameterInfo& Para...,
    const UTexture** OutValue,
    const FMaterialRenderContext& Cont...
)

Public function Const

bool

 

GetVectorValue

(
    const FMaterialParameterInfo& Para...,
    FLinearColor* OutValue,
    const FMaterialRenderContext& Cont...
)

Public function Static

bool

 

HasDeferredUniformExpressionCacheRequests()

Public function

void

 

InvalidateUniformExpressionCache

(
    bool bRecreateUniformBuffer
)

Invalidates the uniform expression cache.

Public function Const

bool

 

IsDeleted()

Public function Const

bool

 

IsMarkedForGarbageCollection()

Public function

void

 

MarkForGarbageCollection()

Public function

void

 

SetSubsurfaceProfileRT

(
    const USubsurfaceProfile* Ptr
)

Public function Static

void

 

UpdateDeferredCachedUniformExpressions()

Public function Const

void

 

UpdateUniformExpressionCacheIfNeeded

(
    ERHIFeatureLevel::Type InFeatureLev...
)

Overridden from FRenderResource

Name Description

Public function Virtual

void

 

InitDynamicRHI()

Initializes the dynamic RHI resource and/or RHI render target used by this resource.

Public function Virtual

void

 

ReleaseDynamicRHI()

Releases the dynamic RHI resource and/or RHI render target resources used by this resource.

Public function Virtual

void

 

ReleaseResource()

Prepares the resource for deletion. This is only called by the rendering thread.

Constants

Name

Description

DeferredUniformExpressionCacheRequests

MaterialRenderProxyMap

Tracks all material render proxies in all scenes, can only be accessed on the rendering thread.

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