UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StaticTextureInstanceManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4StaticTextureInstanceManager.h: Definitions of classes used for texture streaming.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
12
19{
20public:
21
25
28
32
33 FORCEINLINE bool HasRenderAssetReferences() const { return StateSync.GetState()->NumBounds() > 0; }
34
35 /*-----------------------------------
36 ------ IRenderAssetInstanceManager ------
37 -----------------------------------*/
38
40 FORCEINLINE bool IsReferenced(const UPrimitiveComponent* Component) const final override { return StateSync.GetState()->HasComponentReferences(Component); }
41
44
46 bool CanManage(const UPrimitiveComponent* Component) const final override;
47
49 void Refresh(float Percentage) final override;
50
52 EAddComponentResult Add(const UPrimitiveComponent* Component, FStreamingTextureLevelContext& LevelContext, float MaxAllowedUIDensity) final override;
53
56
58 void Remove(const UPrimitiveComponent* Component, FRemovedRenderAssetArray* RemovedRenderAssets) final override;
59
61 FORCEINLINE void PrepareAsyncView() final override {}
62
64 const FRenderAssetInstanceView* GetAsyncView(bool bCreateIfNull) final override;
65
67 bool CanAddComponent() const;
68
70 uint32 GetAllocatedSize() const final override;
71
73 void OffsetBounds(const FVector& Offset);
74
76
78
80
81 typedef RenderAssetInstanceTask::FRefreshVisibilityTask FRefreshVisibilityTask;
82 typedef RenderAssetInstanceTask::FNormalizeLightmapTexelFactorTask FNormalizeLightmapTexelFactorTask;
83
84 struct FTasks
85 {
86 ~FTasks() { SyncResults(); }
87 void SyncResults();
88 TRefCountPtr<FRefreshVisibilityTask> RefreshVisibilityTask;
89 TRefCountPtr<FNormalizeLightmapTexelFactorTask> NormalizeLightmapTexelFactorTask;
90 };
91
94
97
99 int32 DirtyIndex;
100};
#define FORCEINLINE
Definition AndroidPlatform.h:140
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 Offset
Definition VulkanMemory.cpp:4033
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition TextureInstanceState.h:176
FORCEINLINE void Sync()
Definition TextureInstanceState.h:183
FORCEINLINE FRenderAssetInstanceState * SyncAndGetState()
Definition TextureInstanceState.h:188
FORCEINLINE const FRenderAssetInstanceState * GetState() const
Definition TextureInstanceState.h:195
int32 CompileElements()
Definition TextureInstanceState.cpp:827
int32 CheckRegistrationAndUnpackBounds(TArray< const UPrimitiveComponent * > &RemovedComponents)
Definition TextureInstanceState.cpp:905
FORCEINLINE int32 NumBounds() const
Definition TextureInstanceState.h:122
void GetReferencedComponents(TArray< const UPrimitiveComponent * > &Components) const
Definition TextureInstanceState.cpp:699
FORCEINLINE bool HasComponentReferences(const UPrimitiveComponent *Component) const
Definition TextureInstanceState.h:91
Definition TextureInstanceView.h:202
Definition TextureInstanceView.h:109
FORCEINLINE FRenderAssetIterator GetRenderAssetIterator() const
Definition TextureInstanceView.h:225
Definition StaticTextureInstanceManager.h:19
FORCEINLINE int32 CompileElements()
Definition StaticTextureInstanceManager.h:29
FORCEINLINE bool IsReferenced(const UPrimitiveComponent *Component) const final override
Definition StaticTextureInstanceManager.h:40
FORCEINLINE void GetReferencedComponents(TArray< const UPrimitiveComponent * > &Components) const
Definition StaticTextureInstanceManager.h:43
void NormalizeLightmapTexelFactor()
Definition StaticTextureInstanceManager.cpp:33
void Refresh(float Percentage) final override
Definition StaticTextureInstanceManager.cpp:72
const FRenderAssetInstanceView * GetAsyncView(bool bCreateIfNull) final override
Definition StaticTextureInstanceManager.cpp:123
~FStaticRenderAssetInstanceManager()
Definition StaticTextureInstanceManager.h:24
FORCEINLINE FRenderAssetInstanceState::FRenderAssetIterator GetRenderAssetIterator()
Definition StaticTextureInstanceManager.h:31
void OffsetBounds(const FVector &Offset)
Definition StaticTextureInstanceManager.cpp:141
FORCEINLINE bool HasRenderAssetReferences() const
Definition StaticTextureInstanceManager.h:33
bool CanAddComponent() const
Definition StaticTextureInstanceManager.cpp:84
void OnRefreshVisibilityDone(int32 InBeginIndex, int32 InEndIndex)
Definition StaticTextureInstanceManager.cpp:45
bool CanManage(const UPrimitiveComponent *Component) const final override
Definition StaticTextureInstanceManager.cpp:58
uint32 GetAllocatedSize() const final override
Definition StaticTextureInstanceManager.cpp:134
FORCEINLINE int32 CheckRegistrationAndUnpackBounds(TArray< const UPrimitiveComponent * > &RemovedComponents)
Definition StaticTextureInstanceManager.h:30
FORCEINLINE void PrepareAsyncView() final override
Definition StaticTextureInstanceManager.h:61
Definition TextureStreamingTypes.h:223
Definition TextureInstanceManager.h:14
Definition TextureInstanceTask.h:177
Definition Array.h:670
Definition AssetRegistryState.h:50
Definition RefCounting.h:454
Definition TextureInstanceTask.cpp:11
Definition TextureInstanceState.h:64