UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateMaterialResource.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8
10
15{
16public:
19
20 //~ Begin FSlateShaderResource Interface.
21 virtual uint32 GetWidth() const override { return Width; }
22 virtual uint32 GetHeight() const override { return Height; }
24 virtual ESlatePostRT GetUsedSlatePostBuffers() const override;
25 virtual bool RequiresVirtualTextureFeedback() const override;
26 virtual bool IsResourceValid() const override;
27 //~ End FSlateShaderResource Interface.
28
30 void ResetMaterial();
31
33 FMaterialRenderProxy* GetRenderProxy() const { return MaterialProxy; }
34
37 {
38 return MaterialObject;
39 }
40
42 FSlateShaderResourceProxy* GetResourceProxy() const { return SlateProxy; }
43
44 FSlateShaderResource* GetTextureMaskResource() const { return TextureMaskResource; }
45
46#if SLATE_CHECK_UOBJECT_RENDER_RESOURCES
47 virtual void CheckForStaleResources() const override;
48#endif
49
50private:
51 const class UMaterialInterface* MaterialObject;
53
54#if SLATE_CHECK_UOBJECT_RENDER_RESOURCES
55 // Used to guard against crashes when the material object is deleted. This is expensive so we do not do it in shipping
57 FName DebugName;
58#endif
59
61 FSlateShaderResourceProxy* SlateProxy;
62
63 FSlateShaderResource* TextureMaskResource;
64 uint32 Width;
65 uint32 Height;
66
68 ESlatePostRT CachedSlatePostBuffers;
69
71 bool CachedUsesVirtualTextures;
72
73private:
74#if SLATE_CHECK_UOBJECT_RENDER_RESOURCES
75 void UpdateMaterialName();
76#endif
77};
78
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESlatePostRT
Definition SlateRendererTypes.h:15
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialRenderProxy.h:102
Definition NameTypes.h:617
Definition SlateMaterialResource.h:15
virtual bool IsResourceValid() const override
Definition SlateMaterialResource.cpp:145
const UMaterialInterface * GetMaterialObject() const
Definition SlateMaterialResource.h:36
virtual ESlatePostRT GetUsedSlatePostBuffers() const override
Definition SlateMaterialResource.cpp:135
virtual ESlateShaderResource::Type GetType() const override
Definition SlateMaterialResource.h:23
FSlateShaderResourceProxy * GetResourceProxy() const
Definition SlateMaterialResource.h:42
FSlateShaderResource * GetTextureMaskResource() const
Definition SlateMaterialResource.h:44
void UpdateMaterial(const UMaterialInterface &InMaterialResource, const FVector2f InImageSize, FSlateShaderResource *InTextureMask)
Definition SlateMaterialResource.cpp:156
void ResetMaterial()
Definition SlateMaterialResource.cpp:214
virtual bool RequiresVirtualTextureFeedback() const override
Definition SlateMaterialResource.cpp:140
virtual uint32 GetWidth() const override
Definition SlateMaterialResource.h:21
virtual uint32 GetHeight() const override
Definition SlateMaterialResource.h:22
~FSlateMaterialResource()
Definition SlateMaterialResource.cpp:127
FMaterialRenderProxy * GetRenderProxy() const
Definition SlateMaterialResource.h:33
Definition SlateShaderResource.h:129
Definition SlateShaderResource.h:44
void CheckForStaleResources() const
Definition SlateShaderResource.h:90
Definition MaterialInterface.h:296
Type
Definition SlateShaderResource.h:21
@ Material
Definition SlateShaderResource.h:29
Definition WeakObjectPtrTemplates.h:25