UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FDefaultMaterialInstance Class Reference
+ Inheritance diagram for FDefaultMaterialInstance:

Public Member Functions

void GameThread_Destroy ()
 
virtual void StartCacheUniformExpressions () const override
 
virtual void FinishCacheUniformExpressions () const override
 
virtual const FMaterialRenderProxyGetFallback (ERHIFeatureLevel::Type InFeatureLevel) const override
 
virtual const FMaterialGetMaterialNoFallback (ERHIFeatureLevel::Type InFeatureLevel) const override
 
virtual UMaterialInterfaceGetMaterialInterface () const override
 
virtual bool GetParameterValue (EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, FMaterialParameterValue &OutValue, const FMaterialRenderContext &Context) const override
 
virtual FString GetFriendlyName () const
 
 FDefaultMaterialInstance (UMaterial *InMaterial)
 
- Public Member Functions inherited from FMaterialRenderProxy
ENGINE_API FMaterialRenderProxy (FString InMaterialName)
 
virtual ENGINE_API ~FMaterialRenderProxy ()
 
ENGINE_API void EvaluateUniformExpressions (FRHICommandListBase &RHICmdList, FUniformExpressionCache &OutUniformExpressionCache, const FMaterialRenderContext &Context, FUniformExpressionCacheAsyncUpdater *Updater=nullptr) const
 
ENGINE_API void CacheUniformExpressions (FRHICommandListBase &RHICmdList, bool bRecreateUniformBuffer)
 
ENGINE_API void CancelCacheUniformExpressions ()
 
ENGINE_API void CacheUniformExpressions_GameThread (bool bRecreateUniformBuffer)
 
ENGINE_API void InvalidateUniformExpressionCache (bool bRecreateUniformBuffer)
 
ENGINE_API void UpdateUniformExpressionCacheIfNeeded (ERHIFeatureLevel::Type InFeatureLevel) const
 
ENGINE_API const FMaterialUpdateUniformExpressionCacheIfNeeded (FRHICommandListBase &RHICmdList, ERHIFeatureLevel::Type InFeatureLevel) const
 
ENGINE_API const FMaterialGetMaterialWithFallback (ERHIFeatureLevel::Type InFeatureLevel, const FMaterialRenderProxy *&OutFallbackMaterialRenderProxy) const
 
ENGINE_API const FMaterialGetIncompleteMaterialWithFallback (ERHIFeatureLevel::Type InFeatureLevel) const
 
ENGINE_API bool GetVectorValue (const FHashedMaterialParameterInfo &ParameterInfo, FLinearColor *OutValue, const FMaterialRenderContext &Context) const
 
ENGINE_API bool GetScalarValue (const FHashedMaterialParameterInfo &ParameterInfo, float *OutValue, const FMaterialRenderContext &Context) const
 
ENGINE_API bool GetTextureValue (const FHashedMaterialParameterInfo &ParameterInfo, const UTexture **OutValue, const FMaterialRenderContext &Context) const
 
ENGINE_API bool GetTextureValue (const FHashedMaterialParameterInfo &ParameterInfo, const URuntimeVirtualTexture **OutValue, const FMaterialRenderContext &Context) const
 
ENGINE_API bool GetTextureValue (const FHashedMaterialParameterInfo &ParameterInfo, const USparseVolumeTexture **OutValue, const FMaterialRenderContext &Context) const
 
ENGINE_API bool GetTextureCollectionValue (const FHashedMaterialParameterInfo &ParameterInfo, const UTextureCollection **OutValue, const FMaterialRenderContext &Context) const
 
ENGINE_API bool GetParameterCollectionValue (const FHashedMaterialParameterInfo &ParameterInfo, const UMaterialParameterCollection **OutValue, const FMaterialRenderContext &Context) const
 
ENGINE_API bool GetParameterShaderValue (EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, UE::Shader::FValue &OutValue, const FMaterialRenderContext &Context) const
 
virtual bool GetUserSceneTextureOverride (FName &InOutValue) const
 
ENGINE_API FName GetUserSceneTextureOutput (const FMaterial *Base) const
 
virtual ENGINE_API EBlendableLocation GetBlendableLocation (const FMaterial *Base) const
 
virtual ENGINE_API int32 GetBlendablePriority (const FMaterial *Base) const
 
bool IsDeleted () const
 
void MarkForGarbageCollection ()
 
bool IsMarkedForGarbageCollection () const
 
void MarkTransient ()
 
virtual ENGINE_API void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual ENGINE_API void ReleaseRHI () override
 
virtual ENGINE_API void ReleaseResource () override
 
void SetSubsurfaceProfileRT (const USubsurfaceProfile *Ptr)
 
const USubsurfaceProfileGetSubsurfaceProfileRT () const
 
void ClearSubsurfaceProfileRT ()
 
void AddSubsurfaceProfileRT (const USubsurfaceProfile *Ptr)
 
const USubsurfaceProfileGetSubsurfaceProfileRT (uint32 Index) const
 
const uint32 NumSubsurfaceProfileRT () const
 
void AddSpecularProfileRT (const USpecularProfile *Ptr)
 
const USpecularProfileGetSpecularProfileRT (uint32 Index) const
 
const uint32 NumSpecularProfileRT () const
 
void SetSpecularProfileOverrideRT (const USpecularProfile *Ptr)
 
const USpecularProfileGetSpecularProfileOverrideRT () const
 
void SetNeuralProfileRT (const UNeuralProfile *Ptr)
 
const UNeuralProfileGetNeuralProfileRT () const
 
int32 GetExpressionCacheSerialNumber () const
 
const FString & GetMaterialName () const
 
- Public Member Functions inherited from FRenderResource
RENDERCORE_API FRenderResource ()
 
RENDERCORE_API FRenderResource (ERHIFeatureLevel::Type InFeatureLevel)
 
RENDERCORE_API FRenderResource (const FRenderResource &)
 
RENDERCORE_API FRenderResource (FRenderResource &&)
 
RENDERCORE_API FRenderResourceoperator= (const FRenderResource &Other)
 
RENDERCORE_API FRenderResourceoperator= (FRenderResource &&Other)
 
virtual RENDERCORE_API ~FRenderResource ()
 
virtual RENDERCORE_API void InitResource (FRHICommandListBase &RHICmdList)
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Static Public Member Functions inherited from FMaterialRenderProxy
static ENGINE_API void UpdateDeferredCachedUniformExpressions ()
 
static ENGINE_API void UpdateDeferredCachedUniformExpressions (FRHICommandListBase &RHICmdList, UE::Tasks::FTask *TaskIfAsync=nullptr)
 
static ENGINE_API bool HasDeferredUniformExpressionCacheRequests ()
 
- Static Public Member Functions inherited from FRenderResource
static RENDERCORE_API void ReleaseRHIForAllResources ()
 
static RENDERCORE_API void InitPreRHIResources ()
 
static RENDERCORE_API void ChangeFeatureLevel (ERHIFeatureLevel::Type NewFeatureLevel)
 
static RENDERCORE_API FName SetScopeName (FName Name)
 
- Public Attributes inherited from FMaterialRenderProxy
FUniformExpressionCacheContainer UniformExpressionCache
 
FImmutableSamplerState ImmutableSamplerState
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 
- Protected Member Functions inherited from FMaterialRenderProxy
virtual ENGINE_API void EvaluateParameterCollections (FRHICommandListBase &RHICmdList, FUniformExpressionCache &OutUniformExpressionCache, const FMaterialRenderContext &Context, FUniformExpressionCacheAsyncUpdater *Updater) const
 
- Protected Member Functions inherited from FRenderResource
void SetFeatureLevel (const FStaticFeatureLevel InFeatureLevel)
 
const FStaticFeatureLevel GetFeatureLevel () const
 
bool HasValidFeatureLevel () const
 
template<typename T >
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
 
void SetInitPhase (EInitPhase InInitPhase)
 
- Protected Member Functions inherited from FNoncopyable
 FNoncopyable ()
 
 ~FNoncopyable ()
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Detailed Description

A resource which represents the default instance of a UMaterial to the renderer. Note that default parameter values are stored in the FMaterialUniformExpressionXxxParameter objects now. This resource is only responsible for the selection color.

Constructor & Destructor Documentation

◆ FDefaultMaterialInstance()

FDefaultMaterialInstance::FDefaultMaterialInstance ( UMaterial InMaterial)
inline

Member Function Documentation

◆ FinishCacheUniformExpressions()

virtual void FDefaultMaterialInstance::FinishCacheUniformExpressions ( ) const
inlineoverridevirtual

Reimplemented from FMaterialRenderProxy.

◆ GameThread_Destroy()

void FDefaultMaterialInstance::GameThread_Destroy ( )
inline

Called from the game thread to destroy the material instance on the rendering thread.

◆ GetFallback()

virtual const FMaterialRenderProxy * FDefaultMaterialInstance::GetFallback ( ERHIFeatureLevel::Type  InFeatureLevel) const
inlineoverridevirtual

Implements FMaterialRenderProxy.

◆ GetFriendlyName()

virtual FString FDefaultMaterialInstance::GetFriendlyName ( ) const
inlinevirtual
Returns
The resource's friendly name. Typically a UObject name.

Reimplemented from FRenderResource.

◆ GetMaterialInterface()

virtual UMaterialInterface * FDefaultMaterialInstance::GetMaterialInterface ( ) const
inlineoverridevirtual

Reimplemented from FMaterialRenderProxy.

◆ GetMaterialNoFallback()

virtual const FMaterial * FDefaultMaterialInstance::GetMaterialNoFallback ( ERHIFeatureLevel::Type  InFeatureLevel) const
inlineoverridevirtual

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

Implements FMaterialRenderProxy.

◆ GetParameterValue()

virtual bool FDefaultMaterialInstance::GetParameterValue ( EMaterialParameterType  Type,
const FHashedMaterialParameterInfo ParameterInfo,
FMaterialParameterValue OutValue,
const FMaterialRenderContext Context 
) const
inlineoverridevirtual

Implements FMaterialRenderProxy.

◆ StartCacheUniformExpressions()

virtual void FDefaultMaterialInstance::StartCacheUniformExpressions ( ) const
inlineoverridevirtual

Reimplemented from FMaterialRenderProxy.


The documentation for this class was generated from the following file: