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

#include <RHIResources.h>

+ Inheritance diagram for FRHITextureDesc:

Public Member Functions

 FRHITextureDesc ()=default
 
 FRHITextureDesc (const FRHITextureDesc &Other)
 
 FRHITextureDesc (ETextureDimension InDimension)
 
 FRHITextureDesc (ETextureDimension InDimension, ETextureCreateFlags InFlags, EPixelFormat InFormat, FClearValueBinding InClearValue, FIntPoint InExtent, uint16 InDepth, uint16 InArraySize, uint8 InNumMips, uint8 InNumSamples, uint32 InExtData)
 
bool operator== (const FRHITextureDesc &Other) const
 
bool operator!= (const FRHITextureDesc &Other) const
 
FRHITextureDescoperator= (const FRHITextureDesc &Other)
 
bool IsTexture2D () const
 
bool IsTexture3D () const
 
bool IsTextureCube () const
 
bool IsTextureArray () const
 
bool IsMipChain () const
 
bool IsMultisample () const
 
FIntVector GetSize () const
 
void Reset ()
 
bool IsValid () const
 
RHI_API uint64 CalcMemorySizeEstimate (uint32 FirstMipIndex, uint32 LastMipIndex) const
 
uint64 CalcMemorySizeEstimate (uint32 FirstMipIndex=0) const
 
uint16 GetSubresourceCount () const
 

Static Public Member Functions

static bool CheckValidity (const FRHITextureDesc &Desc, const TCHAR *Name)
 

Public Attributes

ETextureCreateFlags Flags = TexCreate_None
 
FClearValueBinding ClearValue
 
FRHIGPUMask GPUMask = FRHIGPUMask::All()
 
uint32 ExtData = 0
 
FIntPoint Extent = FIntPoint(1, 1)
 
uint16 Depth = 1
 
uint16 ArraySize = 1
 
uint8 NumMips = 1
 
uint8 NumSamples = 1
 
ETextureDimension Dimension = ETextureDimension::Texture2D
 
EPixelFormat Format = PF_Unknown
 
EPixelFormat UAVFormat = PF_Unknown
 
uint8 FastVRAMPercentage = 0xFF
 
TArray< EPixelFormat, TInlineAllocator< 1 > > AliasableFormats
 

Friends

uint32 GetTypeHash (const FRHITextureDesc &Desc)
 

Detailed Description

Descriptor used to create a texture resource

Constructor & Destructor Documentation

◆ FRHITextureDesc() [1/4]

FRHITextureDesc::FRHITextureDesc ( )
default

◆ FRHITextureDesc() [2/4]

FRHITextureDesc::FRHITextureDesc ( const FRHITextureDesc Other)
inline

◆ FRHITextureDesc() [3/4]

FRHITextureDesc::FRHITextureDesc ( ETextureDimension  InDimension)
inline

◆ FRHITextureDesc() [4/4]

FRHITextureDesc::FRHITextureDesc ( ETextureDimension  InDimension,
ETextureCreateFlags  InFlags,
EPixelFormat  InFormat,
FClearValueBinding  InClearValue,
FIntPoint  InExtent,
uint16  InDepth,
uint16  InArraySize,
uint8  InNumMips,
uint8  InNumSamples,
uint32  InExtData 
)
inline

Member Function Documentation

◆ CalcMemorySizeEstimate() [1/2]

uint64 FRHITextureDesc::CalcMemorySizeEstimate ( uint32  FirstMipIndex,
uint32  LastMipIndex 
) const

Returns an estimated total memory size the described texture will occupy in GPU memory. This is an estimate because it only considers the dimensions / format etc of the texture, not any specifics about platform texture layout.

To get a true measure of a texture resource for the current running platform RHI, use RHICalcTexturePlatformSize().

Parameters
FirstMipIndex- the index of the most detailed mip to consider in the memory size calculation. Must be < NumMips and <= LastMipIndex.
LastMipIndex- the index of the least detailed mip to consider in the memory size calculation. Must be < NumMips and >= FirstMipIndex.

◆ CalcMemorySizeEstimate() [2/2]

uint64 FRHITextureDesc::CalcMemorySizeEstimate ( uint32  FirstMipIndex = 0) const
inline

◆ CheckValidity()

static bool FRHITextureDesc::CheckValidity ( const FRHITextureDesc Desc,
const TCHAR Name 
)
inlinestatic

Check the validity.

◆ GetSize()

FIntVector FRHITextureDesc::GetSize ( ) const
inline

◆ GetSubresourceCount()

uint16 FRHITextureDesc::GetSubresourceCount ( ) const
inline

◆ IsMipChain()

bool FRHITextureDesc::IsMipChain ( ) const
inline

◆ IsMultisample()

bool FRHITextureDesc::IsMultisample ( ) const
inline

◆ IsTexture2D()

bool FRHITextureDesc::IsTexture2D ( ) const
inline

◆ IsTexture3D()

bool FRHITextureDesc::IsTexture3D ( ) const
inline

◆ IsTextureArray()

bool FRHITextureDesc::IsTextureArray ( ) const
inline

◆ IsTextureCube()

bool FRHITextureDesc::IsTextureCube ( ) const
inline

◆ IsValid()

bool FRHITextureDesc::IsValid ( ) const
inline

Returns whether this descriptor conforms to requirements.

◆ operator!=()

bool FRHITextureDesc::operator!= ( const FRHITextureDesc Other) const
inline

◆ operator=()

FRHITextureDesc & FRHITextureDesc::operator= ( const FRHITextureDesc Other)
inline

◆ operator==()

bool FRHITextureDesc::operator== ( const FRHITextureDesc Other) const
inline

◆ Reset()

void FRHITextureDesc::Reset ( )
inline

Friends And Related Symbol Documentation

◆ GetTypeHash

uint32 GetTypeHash ( const FRHITextureDesc Desc)
friend

Member Data Documentation

◆ AliasableFormats

TArray<EPixelFormat, TInlineAllocator<1> > FRHITextureDesc::AliasableFormats

Array of pixel formats that this texture can alias to

◆ ArraySize

uint16 FRHITextureDesc::ArraySize = 1

The number of array elements in the texture. (Keep at 1 if dimension is 3D).

◆ ClearValue

FClearValueBinding FRHITextureDesc::ClearValue

Clear value to use when fast-clearing the texture.

◆ Depth

uint16 FRHITextureDesc::Depth = 1

Depth of the texture if the dimension is 3D.

◆ Dimension

ETextureDimension FRHITextureDesc::Dimension = ETextureDimension::Texture2D

Texture dimension to use when creating the RHI texture.

◆ ExtData

uint32 FRHITextureDesc::ExtData = 0

Platform-specific additional data. Used for offline processed textures on some platforms.

◆ Extent

FIntPoint FRHITextureDesc::Extent = FIntPoint(1, 1)

Extent of the texture in x and y.

◆ FastVRAMPercentage

uint8 FRHITextureDesc::FastVRAMPercentage = 0xFF

Resource memory percentage which should be allocated onto fast VRAM (hint-only). (encoding into 8bits, 0..255 -> 0%..100%)

◆ Flags

ETextureCreateFlags FRHITextureDesc::Flags = TexCreate_None

Texture flags passed on to RHI texture.

◆ Format

EPixelFormat FRHITextureDesc::Format = PF_Unknown

Pixel format used to create RHI texture.

◆ GPUMask

FRHIGPUMask FRHITextureDesc::GPUMask = FRHIGPUMask::All()

◆ NumMips

uint8 FRHITextureDesc::NumMips = 1

Number of mips in the texture mip-map chain.

◆ NumSamples

uint8 FRHITextureDesc::NumSamples = 1

Number of samples in the texture. >1 for MSAA.

◆ UAVFormat

EPixelFormat FRHITextureDesc::UAVFormat = PF_Unknown

Texture format used when creating the UAV. PF_Unknown means to use the default one (same as Format).


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