UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialCacheVirtualTexture.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Engine/Texture.h"
7#include "MaterialCacheVirtualTexture.generated.h"
8
9#define UE_API ENGINE_API
10
14class FSceneInterface;
16
17UCLASS(MinimalAPI, Experimental)
19{
21
22public:
23 UE_API virtual ~UMaterialCacheVirtualTexture() override;
24
26 UPROPERTY(VisibleAnywhere, Category="Material Cache")
27 TWeakObjectPtr<UPrimitiveComponent> OwningComponent;
28
30 UPROPERTY(VisibleAnywhere, Category="Material Cache")
32
34 UPROPERTY(VisibleAnywhere, Category="Material Cache")
36
38 UPROPERTY(VisibleAnywhere, Category="Material Cache")
39 FIntPoint TileCount = FIntPoint(8, 8);
40
41public:
43 UE_API void Flush();
44
46 UE_API void Unregister();
47
49 UE_API FIntPoint GetRuntimeTileCount() const;
50
52 UE_API FMaterialCacheVirtualTextureRenderProxy* CreateRenderProxy(uint32 UVCoordinateIndex);
53
55 UE_API FMaterialCacheTagLayout GetRuntimeLayout() const;
56
57public:
58 UE_API virtual void GetVirtualTextureBuildSettings(FVirtualTextureBuildSettings& OutSettings) const override;
59 UE_API virtual void UpdateResourceWithParams(EUpdateResourceFlags InFlags) override;
60 UE_API virtual EMaterialValueType GetMaterialType() const override;
61 UE_API virtual uint32 GetSurfaceArraySize() const override;
62 UE_API virtual float GetSurfaceDepth() const override;
63 UE_API virtual float GetSurfaceHeight() const override;
64 UE_API virtual float GetSurfaceWidth() const override;
65 UE_API virtual ETextureClass GetTextureClass() const override;
66 UE_API virtual FTextureResource* CreateResource() override;
67 UE_API virtual bool IsCurrentlyVirtualTextured() const override;
68
69private:
70 void CreateSceneProxy();
71 FVirtualTexture2DResource* GetVirtualTexture2DResource();
72 FSceneInterface* GetScene();
73
76 IAllocatedVirtualTexture* RTVirtualTextureStalePtr = nullptr;
77
79 FMaterialCacheVirtualBaton* RTDestructionBaton = nullptr;
80};
81
82#undef UE_API
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition MaterialCacheVirtualTexture.h:9
EMaterialValueType
Definition MaterialValueType.h:15
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
ETextureClass
Definition TextureDefines.h:299
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialCacheVirtualTextureRenderProxy.h:14
Definition SceneInterface.h:106
Definition TextureResource.h:103
Definition TextureResource.h:175
Definition VirtualTexturing.h:374
Definition MaterialCacheStackProvider.h:31
Definition MaterialCacheVirtualTextureTag.h:13
Definition MaterialCacheVirtualTexture.h:19
Definition Texture.h:1219
EUpdateResourceFlags
Definition Texture.h:1697
Definition RobinHoodHashTable.h:18
Definition MaterialCacheAttribute.h:118
Definition MaterialCacheVirtualTexture.cpp:24
Definition VirtualTextureBuildSettings.h:11
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25
Definition IntPoint.h:25