UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FTexture2DUpdate Class Reference

#include <Texture2DUpdate.h>

+ Inheritance diagram for FTexture2DUpdate:

Public Member Functions

 FTexture2DUpdate (UTexture2D *InTexture)
 
- Public Member Functions inherited from TRenderAssetUpdate< FTexture2DUpdateContext >
 TRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
void PushTask (const FContext &Context, EThreadType InTaskThread, const FCallback &InTaskCallback, EThreadType InCancelationThread, const FCallback &InCancelationCallback)
 
EThreadType GetRelevantThread () const final override
 
- Public Member Functions inherited from FRenderAssetUpdate
UE_API FRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
UE_API void Tick (EThreadType InCurrentThread)
 
bool IsCompleted () const
 
virtual void Abort ()
 
virtual bool CanAbandon () const
 
virtual void OnAbandoned ()
 
bool IsCancelled () const
 
bool IsSuccessfullyFinished () const
 
UE_API ETaskState DoLock ()
 
UE_API void DoUnlock (ETaskState PreviousTaskState)
 
bool IsLocked () const
 
FReturnedRefCountValue AddRef () const final override
 
UE_API uint32 Release () const final override
 
uint32 GetRefCount () const final override
 
- Public Member Functions inherited from IRefCountedObject
virtual ~IRefCountedObject ()
 

Protected Member Functions

virtual ~FTexture2DUpdate ()
 
void DoAsyncReallocate (const FContext &Context)
 
void DoConvertToVirtualWithNewMips (const FContext &Context)
 
bool DoConvertToNonVirtual (const FContext &Context)
 
void DoFinishUpdate (const FContext &Context)
 
- Protected Member Functions inherited from TRenderAssetUpdate< FTexture2DUpdateContext >
ETaskState TickInternal (EThreadType InCurrentThread, bool bCheckForSuspension) final override
 
void ClearCallbacks ()
 
- Protected Member Functions inherited from FRenderAssetUpdate
virtual UE_API ~FRenderAssetUpdate ()
 
void MarkAsCancelled ()
 
void MarkAsSuccessfullyFinished ()
 
UE_API void ScheduleGTTask ()
 
UE_API void ScheduleRenderTask ()
 
UE_API void ScheduleAsyncTask ()
 

Protected Attributes

FTextureRHIRef IntermediateTextureRHI
 
- Protected Attributes inherited from TRenderAssetUpdate< FTexture2DUpdateContext >
EThreadType TaskThread
 
FCallback TaskCallback
 
EThreadType CancelationThread
 
FCallback CancelationCallback
 
- Protected Attributes inherited from FRenderAssetUpdate
const FStreamableRenderResourceState ResourceState
 
const int32 CurrentFirstLODIdx = INDEX_NONE
 
const int32 PendingFirstLODIdx = INDEX_NONE
 
FCriticalSection CS
 
int32 ScheduledGTTasks
 
int32 ScheduledRenderTasks
 
int32 ScheduledAsyncTasks
 
const UStreamableRenderAssetStreamableAsset = nullptr
 
FThreadSafeCounter TaskSynchronization
 
bool bIsCancelled
 
bool bDeferExecution
 
bool bSuccess
 
volatile ETaskState TaskState
 

Additional Inherited Members

- Public Types inherited from TRenderAssetUpdate< FTexture2DUpdateContext >
typedef FTexture2DUpdateContext FContext
 
typedef TFunction< void(const FContext &Context)> FCallback
 
- Public Types inherited from FRenderAssetUpdate
enum  EThreadType {
  TT_None , TT_Render , TT_Async , TT_GameThread ,
  TT_GameRunningAsync
}
 
enum  ETaskState {
  TS_Done , TS_Suspended , TS_InProgress , TS_Locked ,
  TS_Init
}
 
- Protected Types inherited from FRenderAssetUpdate
typedef FAutoDeleteAsyncTask< FMipUpdateTaskFAsyncMipUpdateTask
 

Detailed Description

This class provides a framework for loading and unloading the mips of 2D textures. Each thread essentially calls Tick() until the job is done. The object can be safely deleted when IsCompleted() returns true.

Constructor & Destructor Documentation

◆ FTexture2DUpdate()

FTexture2DUpdate::FTexture2DUpdate ( UTexture2D InTexture)

◆ ~FTexture2DUpdate()

FTexture2DUpdate::~FTexture2DUpdate ( )
protectedvirtual

Member Function Documentation

◆ DoAsyncReallocate()

void FTexture2DUpdate::DoAsyncReallocate ( const FContext Context)
protected

Async Reallocate the texture to the requested size.

◆ DoConvertToNonVirtual()

bool FTexture2DUpdate::DoConvertToNonVirtual ( const FContext Context)
protected

Transform the texture into a non virtual texture. The new texture will have the size of the requested mips to avoid later reallocs.

◆ DoConvertToVirtualWithNewMips()

void FTexture2DUpdate::DoConvertToVirtualWithNewMips ( const FContext Context)
protected

Transform the texture into a virtual texture. The virtual texture.

◆ DoFinishUpdate()

void FTexture2DUpdate::DoFinishUpdate ( const FContext Context)
protected

Apply the new texture (if not cancelled) and finish the update process. When cancelled, the intermediate texture simply gets discarded.

Member Data Documentation

◆ IntermediateTextureRHI

FTextureRHIRef FTexture2DUpdate::IntermediateTextureRHI
protected

The intermediate texture created in the update process. In the virtual path, this can exceptionally end update being the same as the original texture.


The documentation for this class was generated from the following files: