UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DynamicTextureInstanceManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4DynamicTextureInstanceManager.h: Definitions of classes used for texture streaming.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
12#include "ContentStreaming.h"
13
19{
20public:
21
23
27
29
31
32 // Get all (non removed) components refered by the manager. Debug only.
34
37
38 /*-----------------------------------
39 ------ IRenderAssetInstanceManager ------
40 -----------------------------------*/
41
43 bool IsReferenced(const UPrimitiveComponent* Component) const final;
44
46 bool CanManage(const UPrimitiveComponent* Component) const final override;
47
50
52 void Remove(const UPrimitiveComponent* Component, FRemovedRenderAssetArray* RemovedRenderAssets) final override;
53
55 void PrepareAsyncView() final override;
56
59
61 uint32 GetAllocatedSize() const final override;
62
64
66
68 void Refresh(float Percentage) final override;
69
71 void OnRefreshVisibilityDone(int32 BeginIndex, int32 EndIndex, const TArray<int32>& SkippedIndices, int32 FirstFreeBound, int32 LastUsedBound);
72
74
75 typedef RenderAssetInstanceTask::FCreateViewWithUninitializedBoundsTask FCreateViewTask;
77
78 struct FTasks
79 {
80 ~FTasks()
81 {
82 SyncResults();
83 }
84
85 void SyncResults();
86
87 void SyncRefreshFullTask();
88
89 TRefCountPtr<FCreateViewTask> CreateViewTask;
90 TRefCountPtr<FRefreshFullTask> RefreshFullTask;
91 };
92
95
98
100 int32 DirtyIndex;
101
103 int32 PendingDefragSrcBoundIndex;
105 int32 PendingDefragDstBoundIndex;
106
108 TArray<const UPrimitiveComponent*> PendingComponents;
109};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
void AsyncTask(ENamedThreads::Type Thread, TUniqueFunction< void()> Function)
Definition Async.cpp:54
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
EAddComponentResult
Definition TextureInstanceState.h:20
@ Percentage
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition DynamicTextureInstanceManager.h:19
~FDynamicRenderAssetInstanceManager()
Definition DynamicTextureInstanceManager.cpp:66
const FRenderAssetInstanceView * GetAsyncView(bool bCreateIfNull) final override
Definition DynamicTextureInstanceManager.cpp:341
bool CanManage(const UPrimitiveComponent *Component) const final override
Definition DynamicTextureInstanceManager.cpp:251
void IncrementalUpdate(FRemovedRenderAssetArray &RemovedRenderAssets, float Percentage)
Definition DynamicTextureInstanceManager.cpp:83
void OnCreateViewDone(FRenderAssetInstanceView *InView)
Definition DynamicTextureInstanceManager.cpp:175
void PrepareAsyncView() final override
Definition DynamicTextureInstanceManager.cpp:325
void OnRefreshVisibilityDone(int32 BeginIndex, int32 EndIndex, const TArray< int32 > &SkippedIndices, int32 FirstFreeBound, int32 LastUsedBound)
Definition DynamicTextureInstanceManager.cpp:188
void GetReferencedComponents(TArray< const UPrimitiveComponent * > &Components)
Definition DynamicTextureInstanceManager.cpp:170
const FRenderAssetInstanceView * GetGameThreadView()
Definition DynamicTextureInstanceManager.cpp:358
void RegisterTasks(RenderAssetInstanceTask::FDoWorkTask &AsyncTask)
Definition DynamicTextureInstanceManager.cpp:76
uint32 GetAllocatedSize() const final override
Definition DynamicTextureInstanceManager.cpp:352
void Refresh(float Percentage) final override
Definition DynamicTextureInstanceManager.cpp:256
bool IsReferenced(const UPrimitiveComponent *Component) const final
Definition DynamicTextureInstanceManager.cpp:71
void OnPreGarbageCollect(FRemovedRenderAssetArray &RemovedRenderAssets)
Definition DynamicTextureInstanceManager.cpp:211
Definition TextureInstanceState.h:220
Definition TextureInstanceView.h:109
Definition TextureStreamingTypes.h:223
Definition TextureInstanceManager.h:14
Definition TextureInstanceTask.h:177
Definition TextureInstanceTask.h:25
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition RefCounting.h:454
Definition TextureInstanceTask.cpp:11