UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FTexturePlatformData Struct Reference

#include <Texture.h>

Public Member Functions

ENGINE_API FTexturePlatformData ()
 
ENGINE_API ~FTexturePlatformData ()
 
bool IsReadyForAsyncPostLoad () const
 
bool TryLoadMips (int32 FirstMipToLoad, void **OutMipData, FStringView DebugContext)
 
bool TryLoadMipsWithSizes (int32 FirstMipToLoad, void **OutMipData, int64 *OutMipSize, FStringView DebugContext)
 
void Serialize (FArchive &Ar, class UTexture *Owner)
 
void SerializeCooked (FArchive &Ar, class UTexture *Owner, bool bStreamable, const bool bSerializeMipData)
 
void SetPackedData (int32 InNumSlices, bool bInHasOptData, bool bInCubeMap, bool bInHasCpuCopy)
 
bool GetHasOptData () const
 
void SetOptData (FOptTexturePlatformData Data)
 
bool GetHasCpuCopy () const
 
void SetHasCpuCopy (bool bInHasCpuCopy)
 
bool IsCubemap () const
 
void SetIsCubemap (bool bCubemap)
 
int32 GetNumSlices () const
 
void SetNumSlices (int32 NumSlices)
 
int32 GetNumMipsInTail () const
 
int32 GetExtData () const
 
int32 GetNumNonStreamingMips (bool bIsStreamingPossible) const
 
int32 GetNumNonOptionalMips () const
 
bool CanBeLoaded () const
 
ENGINE_API int32 GetNumVTMips () const
 
ENGINE_API EPixelFormat GetLayerPixelFormat (uint32 LayerIndex) const
 
ENGINE_API int64 GetPayloadSize (int32 MipBias) const
 

Public Attributes

int32 SizeX
 
int32 SizeY
 
uint32 PackedData
 
EPixelFormat PixelFormat
 
FOptTexturePlatformData OptData
 
TIndirectArray< struct FTexture2DMipMapMips
 
struct FVirtualTextureBuiltDataVTData =nullptr
 
TRefCountPtr< const struct FSharedImageCPUCopy
 

Detailed Description

Platform-specific data used by the texture resource at runtime.

Constructor & Destructor Documentation

◆ FTexturePlatformData()

FTexturePlatformData::FTexturePlatformData ( )

Default constructor.

◆ ~FTexturePlatformData()

FTexturePlatformData::~FTexturePlatformData ( )

Destructor.

Member Function Documentation

◆ CanBeLoaded()

bool FTexturePlatformData::CanBeLoaded ( ) const

Return true if at least one mip can be loaded either from DDC or disk.

◆ GetExtData()

int32 FTexturePlatformData::GetExtData ( ) const
inline

◆ GetHasCpuCopy()

bool FTexturePlatformData::GetHasCpuCopy ( ) const
inline

◆ GetHasOptData()

bool FTexturePlatformData::GetHasOptData ( ) const
inline

◆ GetLayerPixelFormat()

EPixelFormat FTexturePlatformData::GetLayerPixelFormat ( uint32  LayerIndex) const

◆ GetNumMipsInTail()

int32 FTexturePlatformData::GetNumMipsInTail ( ) const
inline

◆ GetNumNonOptionalMips()

int32 FTexturePlatformData::GetNumNonOptionalMips ( ) const

Return the number of mips that streamable but not optional.

◆ GetNumNonStreamingMips()

int32 FTexturePlatformData::GetNumNonStreamingMips ( bool  bIsStreamingPossible) const

Return the number of mips that are not streamable.

◆ GetNumSlices()

int32 FTexturePlatformData::GetNumSlices ( ) const
inline

◆ GetNumVTMips()

int32 FTexturePlatformData::GetNumVTMips ( ) const

◆ GetPayloadSize()

int64 FTexturePlatformData::GetPayloadSize ( int32  MipBias) const

Return the size of the texture pixel data in bytes, not including headers or alignment.

◆ IsCubemap()

bool FTexturePlatformData::IsCubemap ( ) const
inline

◆ IsReadyForAsyncPostLoad()

bool FTexturePlatformData::IsReadyForAsyncPostLoad ( ) const

Return whether TryLoadMips() would stall because async loaded mips are not yet available.

◆ Serialize()

void FTexturePlatformData::Serialize ( FArchive Ar,
class UTexture Owner 
)

Serialization.

◆ SerializeCooked()

void FTexturePlatformData::SerializeCooked ( FArchive Ar,
class UTexture Owner,
bool  bStreamable,
const bool  bSerializeMipData 
)

Serialization for cooked builds.

Parameters
ArArchive to serialize with
OwnerOwner texture
bStreamableset up serialization to stream some mips
bSerializeMipDataif false, no mip bulk data will be serialized. This should only be false when an alternate All Mip Data Provider is attached.

◆ SetHasCpuCopy()

void FTexturePlatformData::SetHasCpuCopy ( bool  bInHasCpuCopy)
inline

◆ SetIsCubemap()

void FTexturePlatformData::SetIsCubemap ( bool  bCubemap)
inline

◆ SetNumSlices()

void FTexturePlatformData::SetNumSlices ( int32  NumSlices)
inline

◆ SetOptData()

void FTexturePlatformData::SetOptData ( FOptTexturePlatformData  Data)
inline

◆ SetPackedData()

void FTexturePlatformData::SetPackedData ( int32  InNumSlices,
bool  bInHasOptData,
bool  bInCubeMap,
bool  bInHasCpuCopy 
)
inline

◆ TryLoadMips()

bool FTexturePlatformData::TryLoadMips ( int32  FirstMipToLoad,
void **  OutMipData,
FStringView  DebugContext 
)

Try to load mips from the derived data cache.

Parameters
FirstMipToLoad- The first mip index to load.
OutMipData- Must point to an array of pointers with at least Texture.Mips.Num() - FirstMipToLoad + 1 entries. Upon return those pointers will contain mip data.
DebugContext- A string used for debug tracking and logging. Usually Texture->GetPathName()
Returns
true if all requested mips have been loaded.

◆ TryLoadMipsWithSizes()

bool FTexturePlatformData::TryLoadMipsWithSizes ( int32  FirstMipToLoad,
void **  OutMipData,
int64 OutMipSize,
FStringView  DebugContext 
)

Member Data Documentation

◆ CPUCopy

TRefCountPtr<const struct FSharedImage> FTexturePlatformData::CPUCopy

This is only valid if the texture availability is CPU only, see GetHasCpuCopy()

◆ Mips

TIndirectArray<struct FTexture2DMipMap> FTexturePlatformData::Mips

Mip data or VT data. one or the other.

◆ OptData

FOptTexturePlatformData FTexturePlatformData::OptData

Additional data required by some platforms.

◆ PackedData

uint32 FTexturePlatformData::PackedData

Packed bits [b31: CubeMap], [b30: HasOptData], [b29-0: NumSlices]. See bit masks below.

◆ PixelFormat

EPixelFormat FTexturePlatformData::PixelFormat

Format in which mip data is stored.

◆ SizeX

int32 FTexturePlatformData::SizeX

Width of the texture.

◆ SizeY

int32 FTexturePlatformData::SizeY

Height of the texture.

◆ VTData

struct FVirtualTextureBuiltData* FTexturePlatformData::VTData =nullptr

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