UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FStreamableTextureResource Class Referenceabstract

#include <StreamableTextureResource.h>

+ Inheritance diagram for FStreamableTextureResource:

Public Member Functions

 FStreamableTextureResource (UTexture *InOwner, const FTexturePlatformData *InPlatformData, const FStreamableRenderResourceState &InPostInitState, bool bAllowPartiallyResidentMips)
 
virtual FStreamableTextureResourceGetStreamableTextureResource ()
 
virtual const FStreamableTextureResourceGetStreamableTextureResource () const
 
virtual uint32 GetSizeX () const final override
 
virtual uint32 GetSizeY () const final override
 
virtual uint32 GetSizeZ () const final override
 
virtual void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual void ReleaseRHI () final override
 
FStreamableRenderResourceState GetState () const
 
FStreamableRenderResourceState GetPostInitState () const
 
void FinalizeStreaming (FRHICommandListBase &RHICmdList, FRHITexture *InTextureRHI)
 
void FinalizeStreaming (FRHITexture *InTextureRHI)
 
TArrayView< const FTexture2DMipMap * > GetPlatformMipsView () const
 
const FTexture2DMipMapGetPlatformMip (int32 MipIdx) const
 
EPixelFormat GetPixelFormat () const
 
ETextureCreateFlags GetCreationFlags () const
 
const FNameGetTextureName () const
 
TextureGroup GetLODGroup () const
 
void RefreshSamplerStates ()
 
int32 GetCurrentFirstMip () const
 
uint32 GetExtData () const
 
virtual uint64 GetPlatformMipsSize (uint32 NumMips) const =0
 
- Public Member Functions inherited from FTextureResource
 FTextureResource ()
 
virtual ~FTextureResource ()
 
virtual bool IsProxy () const
 
virtual FTexture2DResourceGetTexture2DResource ()
 
virtual FTexture3DResourceGetTexture3DResource ()
 
virtual FTexture2DArrayResourceGetTexture2DArrayResource ()
 
virtual FVirtualTexture2DResourceGetVirtualTexture2DResource ()
 
virtual const FTexture2DResourceGetTexture2DResource () const
 
virtual const FTexture3DResourceGetTexture3DResource () const
 
virtual const FTexture2DArrayResourceGetTexture2DArrayResource () const
 
virtual const FVirtualTexture2DResourceGetVirtualTexture2DResource () const
 
int32 GetCurrentMipCount () const
 
bool IsTextureRHIPartiallyResident () const
 
FRHITextureGetTexture2DRHI () const
 
FRHITextureGetTexture3DRHI () const
 
FRHITextureGetTexture2DArrayRHI () const
 
void SetTextureReference (FRHITextureReference *TextureReference)
 
FRHITextureReferenceGetTextureReference () const
 
- Public Member Functions inherited from FTexture
RENDERCORE_API FTexture ()
 
virtual RENDERCORE_API ~FTexture ()
 
RENDERCORE_API FTexture (const FTexture &)
 
RENDERCORE_API FTexture (FTexture &&)
 
RENDERCORE_API FTextureoperator= (const FTexture &Other)
 
RENDERCORE_API FTextureoperator= (FTexture &&Other)
 
const FTextureRHIRefGetTextureRHI ()
 
virtual RENDERCORE_API FString GetFriendlyName () const override
 
- Public Member Functions inherited from FRenderResource
RENDERCORE_API FRenderResource ()
 
RENDERCORE_API FRenderResource (ERHIFeatureLevel::Type InFeatureLevel)
 
RENDERCORE_API FRenderResource (const FRenderResource &)
 
RENDERCORE_API FRenderResource (FRenderResource &&)
 
RENDERCORE_API FRenderResourceoperator= (const FRenderResource &Other)
 
RENDERCORE_API FRenderResourceoperator= (FRenderResource &&Other)
 
virtual RENDERCORE_API ~FRenderResource ()
 
virtual RENDERCORE_API void InitResource (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void ReleaseResource ()
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Protected Member Functions

virtual void CreateTexture (FRHICommandListBase &RHICmdList)=0
 
virtual void CreatePartiallyResidentTexture (FRHICommandListBase &RHICmdList)=0
 
- Protected Member Functions inherited from FRenderResource
void SetFeatureLevel (const FStaticFeatureLevel InFeatureLevel)
 
const FStaticFeatureLevel GetFeatureLevel () const
 
bool HasValidFeatureLevel () const
 
template<typename T >
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
 
void SetInitPhase (EInitPhase InInitPhase)
 

Protected Attributes

const FTexturePlatformDataPlatformData
 
FStreamableRenderResourceState State
 
TEnumAsByte< ESamplerFilterFilter = SF_Point
 
TEnumAsByte< ESamplerAddressModeAddressU = AM_Wrap
 
TEnumAsByte< ESamplerAddressModeAddressV = AM_Wrap
 
TEnumAsByte< ESamplerAddressModeAddressW = AM_Wrap
 
float MipBias = 0
 
uint32 SizeX = 0
 
uint32 SizeY = 0
 
uint32 SizeZ = 0
 
FName TextureName
 
EMipFadeSettings MipFadeSetting = MipFade_Normal
 
TextureGroup LODGroup = TEXTUREGROUP_World
 
EPixelFormat PixelFormat = PF_Unknown
 
ETextureCreateFlags CreationFlags = TexCreate_None
 
bool bUsePartiallyResidentMips = false
 
int8 MaxAniso = 0
 
- Protected Attributes inherited from FTextureResource
FTextureReferenceRHIRef TextureReferenceRHI
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Static Public Member Functions inherited from FRenderResource
static RENDERCORE_API void ReleaseRHIForAllResources ()
 
static RENDERCORE_API void InitPreRHIResources ()
 
static RENDERCORE_API void ChangeFeatureLevel (ERHIFeatureLevel::Type NewFeatureLevel)
 
static RENDERCORE_API FName SetScopeName (FName Name)
 
- Public Attributes inherited from FTexture
FTextureRHIRef TextureRHI
 
FSamplerStateRHIRef SamplerStateRHI
 
FSamplerStateRHIRef DeferredPassSamplerStateRHI
 
double LastRenderTime = -FLT_MAX
 
FMipBiasFade MipBiasFade
 
bool bGreyScaleFormat = false
 
bool bIgnoreGammaConversions = false
 
bool bSRGB = false
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 
- Static Protected Member Functions inherited from FTexture
static RENDERCORE_API FRHISamplerStateGetOrCreateSamplerState (const FSamplerStateInitializerRHI &Initializer)
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Detailed Description

The rendering resource streamable texture.

Constructor & Destructor Documentation

◆ FStreamableTextureResource()

FStreamableTextureResource::FStreamableTextureResource ( UTexture InOwner,
const FTexturePlatformData InPlatformData,
const FStreamableRenderResourceState InPostInitState,
bool  bAllowPartiallyResidentMips 
)

Member Function Documentation

◆ CreatePartiallyResidentTexture()

virtual void FStreamableTextureResource::CreatePartiallyResidentTexture ( FRHICommandListBase RHICmdList)
protectedpure virtual

Implemented in FTexture2DArrayResource.

◆ CreateTexture()

virtual void FStreamableTextureResource::CreateTexture ( FRHICommandListBase RHICmdList)
protectedpure virtual

Implemented in FTexture2DArrayResource.

◆ FinalizeStreaming() [1/2]

void FStreamableTextureResource::FinalizeStreaming ( FRHICommandListBase RHICmdList,
FRHITexture InTextureRHI 
)

◆ FinalizeStreaming() [2/2]

void FStreamableTextureResource::FinalizeStreaming ( FRHITexture InTextureRHI)

◆ GetCreationFlags()

ETextureCreateFlags FStreamableTextureResource::GetCreationFlags ( ) const
inline

◆ GetCurrentFirstMip()

int32 FStreamableTextureResource::GetCurrentFirstMip ( ) const
inline

◆ GetExtData()

uint32 FStreamableTextureResource::GetExtData ( ) const
inline

◆ GetLODGroup()

TextureGroup FStreamableTextureResource::GetLODGroup ( ) const
inline

◆ GetPixelFormat()

EPixelFormat FStreamableTextureResource::GetPixelFormat ( ) const
inline

◆ GetPlatformMip()

const FTexture2DMipMap * FStreamableTextureResource::GetPlatformMip ( int32  MipIdx) const

◆ GetPlatformMipsSize()

virtual uint64 FStreamableTextureResource::GetPlatformMipsSize ( uint32  NumMips) const
pure virtual

Returns the platform mip size for the given mip count.

Implemented in FTexture2DArrayResource, FTexture3DResource, and FTexture2DResource.

◆ GetPlatformMipsView()

TArrayView< const FTexture2DMipMap * > FStreamableTextureResource::GetPlatformMipsView ( ) const

◆ GetPostInitState()

FStreamableRenderResourceState FStreamableTextureResource::GetPostInitState ( ) const
inline

◆ GetSizeX()

virtual uint32 FStreamableTextureResource::GetSizeX ( ) const
inlinefinaloverridevirtual

Returns the width of the texture in pixels.

Reimplemented from FTexture.

◆ GetSizeY()

virtual uint32 FStreamableTextureResource::GetSizeY ( ) const
inlinefinaloverridevirtual

Returns the height of the texture in pixels.

Reimplemented from FTexture.

◆ GetSizeZ()

virtual uint32 FStreamableTextureResource::GetSizeZ ( ) const
inlinefinaloverridevirtual

Returns the depth of the texture in pixels.

Reimplemented from FTexture.

◆ GetState()

FStreamableRenderResourceState FStreamableTextureResource::GetState ( ) const
inline

◆ GetStreamableTextureResource() [1/2]

virtual FStreamableTextureResource * FStreamableTextureResource::GetStreamableTextureResource ( )
inlinevirtual

Reimplemented from FTextureResource.

◆ GetStreamableTextureResource() [2/2]

virtual const FStreamableTextureResource * FStreamableTextureResource::GetStreamableTextureResource ( ) const
inlinevirtual

Reimplemented from FTextureResource.

◆ GetTextureName()

const FName & FStreamableTextureResource::GetTextureName ( ) const
inline

◆ InitRHI()

void FStreamableTextureResource::InitRHI ( FRHICommandListBase RHICmdList)
overridevirtual

Initializes the RHI resources used by this resource. Called when entering the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.

Reimplemented in FTexture2DArrayResource, FTexture3DResource, and FTexture2DResource.

◆ RefreshSamplerStates()

void FStreamableTextureResource::RefreshSamplerStates ( )

Returns the default mip map bias for this texture.

◆ ReleaseRHI()

void FStreamableTextureResource::ReleaseRHI ( )
finaloverridevirtual

Releases the RHI resources used by this resource. Called when leaving the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FTexture.

Member Data Documentation

◆ AddressU

TEnumAsByte<ESamplerAddressMode> FStreamableTextureResource::AddressU = AM_Wrap
protected

◆ AddressV

TEnumAsByte<ESamplerAddressMode> FStreamableTextureResource::AddressV = AM_Wrap
protected

◆ AddressW

TEnumAsByte<ESamplerAddressMode> FStreamableTextureResource::AddressW = AM_Wrap
protected

◆ bUsePartiallyResidentMips

bool FStreamableTextureResource::bUsePartiallyResidentMips = false
protected

Whether this texture should be updated using the virtual address mapping for each mip.

◆ CreationFlags

ETextureCreateFlags FStreamableTextureResource::CreationFlags = TexCreate_None
protected

Creation flags of the texture

◆ Filter

TEnumAsByte<ESamplerFilter> FStreamableTextureResource::Filter = SF_Point
protected

Sample config

◆ LODGroup

TextureGroup FStreamableTextureResource::LODGroup = TEXTUREGROUP_World
protected

The asset LOD group

◆ MaxAniso

int8 FStreamableTextureResource::MaxAniso = 0
protected

Max anisotropy. if 0, will use r.MaxAnisotropy

◆ MipBias

float FStreamableTextureResource::MipBias = 0
protected

◆ MipFadeSetting

EMipFadeSettings FStreamableTextureResource::MipFadeSetting = MipFade_Normal
protected

Mip fade settings

◆ PixelFormat

EPixelFormat FStreamableTextureResource::PixelFormat = PF_Unknown
protected

Format of the texture

◆ PlatformData

const FTexturePlatformData* FStreamableTextureResource::PlatformData
protected

Platform data should be ref counted eventually to remove any synchronization needed when the asset is rebuild.

◆ SizeX

uint32 FStreamableTextureResource::SizeX = 0
protected

The width this resource, when all mips are streamed in.

◆ SizeY

uint32 FStreamableTextureResource::SizeY = 0
protected

The height when all mips are streamed in.

◆ SizeZ

uint32 FStreamableTextureResource::SizeZ = 0
protected

The 3d depth for volume texture or num slices for 2d array when all mips are streamed in. This is NOT USED for cubemap arrays or cubemaps!

◆ State

FStreamableRenderResourceState FStreamableTextureResource::State
protected

Different states for streaming synchronization.

◆ TextureName

FName FStreamableTextureResource::TextureName
protected

The FName of the texture asset


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