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

#include <Texture2DMipAllocator_Virtual.h>

+ Inheritance diagram for FTexture2DMipAllocator_Virtual:

Public Member Functions

 FTexture2DMipAllocator_Virtual (UTexture *Texture)
 
 ~FTexture2DMipAllocator_Virtual ()
 
bool AllocateMips (const FTextureUpdateContext &Context, FTextureMipInfoArray &OutMipInfos, const FTextureUpdateSyncOptions &SyncOptions) final override
 
bool UploadMips (const FTextureUpdateContext &Context, const FTextureUpdateSyncOptions &SyncOptions) final override
 
void Cancel (const FTextureUpdateSyncOptions &SyncOptions) final override
 
ETickThread GetCancelThread () const final override
 
- Public Member Functions inherited from FTextureMipAllocator
 FTextureMipAllocator (UTexture *Texture, ETickState InTickState, ETickThread InTickThread)
 
 FTextureMipAllocator (const FTextureMipAllocator &)
 
 FTextureMipAllocator (FTextureMipAllocator &&)
 
virtual ~FTextureMipAllocator ()
 
FORCEINLINE ETickState GetNextTickState () const
 
FORCEINLINE ETickThread GetNextTickThread () const
 
bool FinalizeMips (const FTextureUpdateContext &Context, const FTextureUpdateSyncOptions &SyncOptions)
 
void ExecuteCancel (const FTextureUpdateSyncOptions &SyncOptions)
 
ETickThread ExecuteGetCancelThread () const
 
const FTextureRHIRefGetIntermediateTextureRHI () const
 

Protected Member Functions

void UnlockNewMips ()
 
void DoConvertToVirtualWithNewMips (const FTextureUpdateContext &Context)
 
- Protected Member Functions inherited from FTextureMipAllocator
FORCEINLINE void AdvanceTo (ETickState InState, ETickThread InThread)
 

Protected Attributes

TArray< int32, TInlineAllocator< MAX_TEXTURE_MIP_COUNT > > LockedMipIndices
 
- Protected Attributes inherited from FTextureMipAllocator
const FStreamableRenderResourceState ResourceState
 
const int32 CurrentFirstLODIdx = INDEX_NONE
 
const int32 PendingFirstLODIdx = INDEX_NONE
 
FTextureRHIRef IntermediateTextureRHI
 

Additional Inherited Members

- Public Types inherited from FTextureMipAllocator
enum class  ETickState : uint32 { AllocateMips , UploadMips , Done }
 
enum class  ETickThread : uint32 { Async , Render , None }
 

Detailed Description

FTexture2DMipAllocator_Virtual is an allocator specialized in creating and managing virtual textures.

Constructor & Destructor Documentation

◆ FTexture2DMipAllocator_Virtual()

FTexture2DMipAllocator_Virtual::FTexture2DMipAllocator_Virtual ( UTexture Texture)

◆ ~FTexture2DMipAllocator_Virtual()

FTexture2DMipAllocator_Virtual::~FTexture2DMipAllocator_Virtual ( )

Member Function Documentation

◆ AllocateMips()

bool FTexture2DMipAllocator_Virtual::AllocateMips ( const FTextureUpdateContext Context,
FTextureMipInfoArray OutMipInfos,
const FTextureUpdateSyncOptions SyncOptions 
)
finaloverridevirtual

Allocate the FTextureMipInfoArray and configure the entries for the new (streamed in) mips. In particular, the FTextureMipAllocator must set valid FTextureMipInfo::DestData so that the mip data provider can write the mip data to.

Parameters
Context- An update context constant throughout the FTextureStreamIn update. Gives things like which texture asset is updated and what mips are streamed in.
OutMipInfos- The array of FTextureMipInfo that must be correctly configured so that FTextureMipDataProvider know what is being requested and where to write data to.
SyncOptions- Different sync options to control when the next tick of FTextureStreamIn can be scheduled.

Return true unless the texture update needs to be aborted because of invalid data or setup.

Implements FTextureMipAllocator.

◆ Cancel()

void FTexture2DMipAllocator_Virtual::Cancel ( const FTextureUpdateSyncOptions SyncOptions)
finaloverridevirtual

Cancel the progression and release any temporary resources. Called within the FTextureStreamIn update when the stream in request is aborted or cannot complete correctly The Cancel() function is called on the thread returned by GetCancelThread().

Parameters
SyncOptions- Different sync options to control when the next tick of FTextureStreamIn can be scheduled.

Implements FTextureMipAllocator.

◆ DoConvertToVirtualWithNewMips()

void FTexture2DMipAllocator_Virtual::DoConvertToVirtualWithNewMips ( const FTextureUpdateContext Context)
protected

◆ GetCancelThread()

FTextureMipAllocator::ETickThread FTexture2DMipAllocator_Virtual::GetCancelThread ( ) const
finaloverridevirtual

Implements FTextureMipAllocator.

◆ UnlockNewMips()

void FTexture2DMipAllocator_Virtual::UnlockNewMips ( )
protected

◆ UploadMips()

bool FTexture2DMipAllocator_Virtual::UploadMips ( const FTextureUpdateContext Context,
const FTextureUpdateSyncOptions SyncOptions 
)
finaloverridevirtual

Upload the new mip data to the GPU. The

Parameters
Context- An update context constant throughout the FTextureStreamIn update. Gives things like which texture asset is updated and what mips are streamed in.
SyncOptions- Different sync options to control when the next tick of FTextureStreamIn can be scheduled.

Return true unless the texture update needs to be aborted because of invalid data or setup.

Implements FTextureMipAllocator.

Member Data Documentation

◆ LockedMipIndices

TArray<int32, TInlineAllocator<MAX_TEXTURE_MIP_COUNT> > FTexture2DMipAllocator_Virtual::LockedMipIndices
protected

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