UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ShaderResourceManager.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"
10#include "Types/SlateVector2.h"
11
30
32{
33 inline bool operator()( const FNewTextureInfo& A, const FNewTextureInfo& B ) const
34 {
35 return (B.TextureData->GetWidth()+B.TextureData->GetHeight()) < (A.TextureData->GetWidth()+A.TextureData->GetHeight());
36 }
37};
38
39
44{
45public:
48
52 virtual FSlateShaderResourceProxy* GetShaderResource(const FSlateBrush& Brush, FVector2f LocalSize, float DrawScale) = 0;
53
65 SLATECORE_API virtual FSlateResourceHandle GetResourceHandle(const FSlateBrush& Brush, FVector2f LocalSize, float DrawScale);
67
69
74
75protected:
76
78 {
79 // delete all allocated textures
81 {
82 delete It.Value();
83 }
84 ResourceMap.Empty();
85#if WITH_ATLAS_DEBUGGING
86 AtlasDebugData.Empty();
87#endif
88 }
89
90 FString GetResourcePath( const FSlateBrush& InBrush ) const
91 {
92 // assume the brush name contains the whole path
93 return InBrush.GetResourceName().ToString();
94 }
95
98
99#if WITH_ATLAS_DEBUGGING
101#endif
102private:
103 // Non-copyable
106
107};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
Definition SlateResourceHandle.h:16
Definition ShaderResourceManager.h:44
TMap< FName, FSlateShaderResourceProxy * > ResourceMap
Definition ShaderResourceManager.h:97
SLATECORE_API FSlateShaderResourceManager()
virtual FSlateShaderResource * GetFontShaderResource(int32 InTextureAtlasIndex, FSlateShaderResource *FontTextureAtlas, const class UObject *FontMaterial)
Definition ShaderResourceManager.h:68
FString GetResourcePath(const FSlateBrush &InBrush) const
Definition ShaderResourceManager.h:90
virtual ISlateAtlasProvider * GetTextureAtlasProvider()=0
virtual SLATECORE_API FSlateResourceHandle GetResourceHandle(const FSlateBrush &Brush, FVector2f LocalSize, float DrawScale)
Definition ShaderResourceManager.cpp:33
void ClearTextureMap()
Definition ShaderResourceManager.h:77
virtual FSlateShaderResourceProxy * GetShaderResource(const FSlateBrush &Brush, FVector2f LocalSize, float DrawScale)=0
virtual SLATECORE_API ~FSlateShaderResourceManager()
Definition ShaderResourceManager.cpp:28
Definition SlateShaderResource.h:129
Definition SlateShaderResource.h:44
Definition TextureAtlas.h:328
Definition UnrealString.h.inl:34
Definition Object.h:95
Definition ShaderResourceManager.h:32
bool operator()(const FNewTextureInfo &A, const FNewTextureInfo &B) const
Definition ShaderResourceManager.h:33
Definition ShaderResourceManager.h:16
FSlateTextureDataPtr TextureData
Definition ShaderResourceManager.h:18
bool bSrgb
Definition ShaderResourceManager.h:22
bool bShouldAtlas
Definition ShaderResourceManager.h:20
FNewTextureInfo()
Definition ShaderResourceManager.h:23
Definition SlateBrush.h:239