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

#include <RendererInterface.h>

Public Member Functions

 FPooledRenderTargetDesc ()
 
bool Compare (const FPooledRenderTargetDesc &rhs, bool bExact) const
 
bool IsCubemap () const
 
bool Is2DTexture () const
 
bool Is3DTexture () const
 
bool IsArray () const
 
bool IsValid () const
 
FIntVector GetSize () const
 
FString GenerateInfoString () const
 
void Reset ()
 

Static Public Member Functions

static FPooledRenderTargetDesc Create2DDesc (FIntPoint InExtent, EPixelFormat InFormat, const FClearValueBinding &InClearValue, ETextureCreateFlags InFlags, ETextureCreateFlags InTargetableFlags, bool bInForceSeparateTargetAndShaderResource, uint8 InNumMips=1, bool InAutowritable=true, bool InCreateRTWriteMask=false, bool InCreateFmask=false)
 
static FPooledRenderTargetDesc Create2DArrayDesc (FIntPoint InExtent, EPixelFormat InFormat, const FClearValueBinding &InClearValue, ETextureCreateFlags InFlags, ETextureCreateFlags InTargetableFlags, bool bInForceSeparateTargetAndShaderResource, uint16 InArraySize, uint8 InNumMips=1, bool InAutowritable=true, bool InCreateRTWriteMask=false, bool InCreateFmask=false)
 
static FPooledRenderTargetDesc CreateVolumeDesc (uint32 InSizeX, uint32 InSizeY, uint16 InSizeZ, EPixelFormat InFormat, const FClearValueBinding &InClearValue, ETextureCreateFlags InFlags, ETextureCreateFlags InTargetableFlags, bool bInForceSeparateTargetAndShaderResource, uint8 InNumMips=1, bool InAutowritable=true)
 
static FPooledRenderTargetDesc CreateCubemapDesc (uint32 InExtent, EPixelFormat InFormat, const FClearValueBinding &InClearValue, ETextureCreateFlags InFlags, ETextureCreateFlags InTargetableFlags, bool bInForceSeparateTargetAndShaderResource, uint16 InArraySize=1, uint8 InNumMips=1, bool InAutowritable=true)
 
static FPooledRenderTargetDesc CreateCubemapArrayDesc (uint32 InExtent, EPixelFormat InFormat, const FClearValueBinding &InClearValue, ETextureCreateFlags InFlags, ETextureCreateFlags InTargetableFlags, bool bInForceSeparateTargetAndShaderResource, uint16 InArraySize, uint8 InNumMips=1, bool InAutowritable=true)
 

Public Attributes

const TCHARDebugName = TEXT("UnknownTexture")
 
FClearValueBinding ClearValue
 
ETextureCreateFlags Flags = TexCreate_None
 
EPixelFormat Format = PF_Unknown
 
EPixelFormat UAVFormat = PF_Unknown
 
FIntPoint Extent = FIntPoint::ZeroValue
 
uint16 Depth = 0
 
uint16 ArraySize = 1
 
uint8 NumMips = 0
 
uint8 NumSamples = 1
 
uint8 FastVRAMPercentage = 0xFF
 
TArray< EPixelFormat, TInlineAllocator< 1 > > AliasableFormats
 
union { 
 
   struct { 
 
      uint8   bIsArray: 1 
 
      uint8   bIsCubemap: 1 
 
      uint8   bReserved0: 6 
 
   }  
 
   uint8   PackedBits 
 
};  
 

Detailed Description

All necessary data to create a render target from the pooled render targets.

Constructor & Destructor Documentation

◆ FPooledRenderTargetDesc()

FPooledRenderTargetDesc::FPooledRenderTargetDesc ( )
inline

Default constructor, use one of the factory functions below to make a valid description

Member Function Documentation

◆ Compare()

bool FPooledRenderTargetDesc::Compare ( const FPooledRenderTargetDesc rhs,
bool  bExact 
) const
inline

Comparison operator to test if a render target can be reused

◆ Create2DArrayDesc()

static FPooledRenderTargetDesc FPooledRenderTargetDesc::Create2DArrayDesc ( FIntPoint  InExtent,
EPixelFormat  InFormat,
const FClearValueBinding InClearValue,
ETextureCreateFlags  InFlags,
ETextureCreateFlags  InTargetableFlags,
bool  bInForceSeparateTargetAndShaderResource,
uint16  InArraySize,
uint8  InNumMips = 1,
bool  InAutowritable = true,
bool  InCreateRTWriteMask = false,
bool  InCreateFmask = false 
)
inlinestatic

Factory function to create 2D array texture description

Parameters
InFlagsbit mask combined from elements of ETextureCreateFlags e.g. TexCreate_UAV

◆ Create2DDesc()

static FPooledRenderTargetDesc FPooledRenderTargetDesc::Create2DDesc ( FIntPoint  InExtent,
EPixelFormat  InFormat,
const FClearValueBinding InClearValue,
ETextureCreateFlags  InFlags,
ETextureCreateFlags  InTargetableFlags,
bool  bInForceSeparateTargetAndShaderResource,
uint8  InNumMips = 1,
bool  InAutowritable = true,
bool  InCreateRTWriteMask = false,
bool  InCreateFmask = false 
)
inlinestatic

Factory function to create 2D texture description

Parameters
InFlagsbit mask combined from elements of ETextureCreateFlags e.g. TexCreate_UAV

◆ CreateCubemapArrayDesc()

static FPooledRenderTargetDesc FPooledRenderTargetDesc::CreateCubemapArrayDesc ( uint32  InExtent,
EPixelFormat  InFormat,
const FClearValueBinding InClearValue,
ETextureCreateFlags  InFlags,
ETextureCreateFlags  InTargetableFlags,
bool  bInForceSeparateTargetAndShaderResource,
uint16  InArraySize,
uint8  InNumMips = 1,
bool  InAutowritable = true 
)
inlinestatic

Factory function to create cube map array texture description

Parameters
InFlagsbit mask combined from elements of ETextureCreateFlags e.g. TexCreate_UAV

◆ CreateCubemapDesc()

static FPooledRenderTargetDesc FPooledRenderTargetDesc::CreateCubemapDesc ( uint32  InExtent,
EPixelFormat  InFormat,
const FClearValueBinding InClearValue,
ETextureCreateFlags  InFlags,
ETextureCreateFlags  InTargetableFlags,
bool  bInForceSeparateTargetAndShaderResource,
uint16  InArraySize = 1,
uint8  InNumMips = 1,
bool  InAutowritable = true 
)
inlinestatic

Factory function to create cube map texture description

Parameters
InFlagsbit mask combined from elements of ETextureCreateFlags e.g. TexCreate_UAV

◆ CreateVolumeDesc()

static FPooledRenderTargetDesc FPooledRenderTargetDesc::CreateVolumeDesc ( uint32  InSizeX,
uint32  InSizeY,
uint16  InSizeZ,
EPixelFormat  InFormat,
const FClearValueBinding InClearValue,
ETextureCreateFlags  InFlags,
ETextureCreateFlags  InTargetableFlags,
bool  bInForceSeparateTargetAndShaderResource,
uint8  InNumMips = 1,
bool  InAutowritable = true 
)
inlinestatic

Factory function to create 3D texture description

Parameters
InFlagsbit mask combined from elements of ETextureCreateFlags e.g. TexCreate_UAV

◆ GenerateInfoString()

FString FPooledRenderTargetDesc::GenerateInfoString ( ) const
inline

for debugging purpose

Returns
e.g. (2D 128x64 PF_R8)

◆ GetSize()

FIntVector FPooledRenderTargetDesc::GetSize ( ) const
inline

◆ Is2DTexture()

bool FPooledRenderTargetDesc::Is2DTexture ( ) const
inline

◆ Is3DTexture()

bool FPooledRenderTargetDesc::Is3DTexture ( ) const
inline

◆ IsArray()

bool FPooledRenderTargetDesc::IsArray ( ) const
inline

◆ IsCubemap()

bool FPooledRenderTargetDesc::IsCubemap ( ) const
inline

◆ IsValid()

bool FPooledRenderTargetDesc::IsValid ( ) const
inline

◆ Reset()

void FPooledRenderTargetDesc::Reset ( )
inline

Member Data Documentation

◆ [union]

union { ... } FPooledRenderTargetDesc

◆ AliasableFormats

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

Formats this texture is aliasable to

◆ ArraySize

uint16 FPooledRenderTargetDesc::ArraySize = 1

>1 if a texture array should be used (not supported on DX9)

◆ bIsArray

uint8 FPooledRenderTargetDesc::bIsArray

true if an array texture. Note that ArraySize still can be 1

◆ bIsCubemap

uint8 FPooledRenderTargetDesc::bIsCubemap

true if a cubemap texture

◆ bReserved0

uint8 FPooledRenderTargetDesc::bReserved0

Unused flags.

◆ ClearValue

FClearValueBinding FPooledRenderTargetDesc::ClearValue

Value allowed for fast clears for this target.

◆ DebugName

const TCHAR* FPooledRenderTargetDesc::DebugName = TEXT("UnknownTexture")

only set a pointer to memory that never gets released

◆ Depth

uint16 FPooledRenderTargetDesc::Depth = 0

0, unless it's texture array or volume texture

◆ Extent

FIntPoint FPooledRenderTargetDesc::Extent = FIntPoint::ZeroValue

In pixels, (0,0) if not set, (x,0) for cube maps, todo: make 3d int vector for volume textures

◆ FastVRAMPercentage

uint8 FPooledRenderTargetDesc::FastVRAMPercentage = 0xFF

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

◆ Flags

ETextureCreateFlags FPooledRenderTargetDesc::Flags = TexCreate_None

The flags that must be set on both the shader-resource and the targetable texture. bit mask combined from elements of ETextureCreateFlags e.g. TexCreate_UAV

◆ Format

EPixelFormat FPooledRenderTargetDesc::Format = PF_Unknown

Texture format e.g. PF_B8G8R8A8

◆ NumMips

uint8 FPooledRenderTargetDesc::NumMips = 0

Number of mips

◆ NumSamples

uint8 FPooledRenderTargetDesc::NumSamples = 1

Number of MSAA samples, default: 1

◆ PackedBits

uint8 FPooledRenderTargetDesc::PackedBits

◆ UAVFormat

EPixelFormat FPooledRenderTargetDesc::UAVFormat = PF_Unknown

Texture format used when creating the UAV (if TexCreate_UAV is also passed in TargetableFlags, ignored otherwise). PF_Unknown == use default (same as Format)


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