UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PixelFormat.h File Reference
#include "CoreTypes.h"
#include "Misc/EnumClassFlags.h"

Go to the source code of this file.

Classes

struct  FPixelFormatInfo
 

Namespaces

namespace  UE
 
namespace  UE::PixelFormat
 

Macros

#define FOREACH_ENUM_EPIXELFORMAT(op)
 
#define UE_PIXELFORMAT_TO_UINT8(argument)   static_cast<uint8>(argument)
 

Enumerations

enum  EPixelFormat : uint8 {
  PF_Unknown =0 , PF_A32B32G32R32F =1 , PF_B8G8R8A8 =2 , PF_G8 =3 ,
  PF_G16 =4 , PF_DXT1 =5 , PF_DXT3 =6 , PF_DXT5 =7 ,
  PF_UYVY =8 , PF_FloatRGB =9 , PF_FloatRGBA =10 , PF_DepthStencil =11 ,
  PF_ShadowDepth =12 , PF_R32_FLOAT =13 , PF_G16R16 =14 , PF_G16R16F =15 ,
  PF_G16R16F_FILTER =16 , PF_G32R32F =17 , PF_A2B10G10R10 =18 , PF_A16B16G16R16 =19 ,
  PF_D24 =20 , PF_R16F =21 , PF_R16F_FILTER =22 , PF_BC5 =23 ,
  PF_V8U8 =24 , PF_A1 =25 , PF_FloatR11G11B10 =26 , PF_A8 =27 ,
  PF_R32_UINT =28 , PF_R32_SINT =29 , PF_PVRTC2 =30 , PF_PVRTC4 =31 ,
  PF_R16_UINT =32 , PF_R16_SINT =33 , PF_R16G16B16A16_UINT =34 , PF_R16G16B16A16_SINT =35 ,
  PF_R5G6B5_UNORM =36 , PF_R8G8B8A8 =37 , PF_A8R8G8B8 =38 , PF_BC4 =39 ,
  PF_R8G8 =40 , PF_ATC_RGB =41 , PF_ATC_RGBA_E =42 , PF_ATC_RGBA_I =43 ,
  PF_X24_G8 =44 , PF_ETC1 =45 , PF_ETC2_RGB =46 , PF_ETC2_RGBA =47 ,
  PF_R32G32B32A32_UINT =48 , PF_R16G16_UINT =49 , PF_ASTC_4x4 =50 , PF_ASTC_6x6 =51 ,
  PF_ASTC_8x8 =52 , PF_ASTC_10x10 =53 , PF_ASTC_12x12 =54 , PF_BC6H =55 ,
  PF_BC7 =56 , PF_R8_UINT =57 , PF_L8 =58 , PF_XGXR8 =59 ,
  PF_R8G8B8A8_UINT =60 , PF_R8G8B8A8_SNORM =61 , PF_R16G16B16A16_UNORM =62 , PF_R16G16B16A16_SNORM =63 ,
  PF_PLATFORM_HDR_0 =64 , PF_PLATFORM_HDR_1 =65 , PF_PLATFORM_HDR_2 =66 , PF_NV12 =67 ,
  PF_R32G32_UINT =68 , PF_ETC2_R11_EAC =69 , PF_ETC2_RG11_EAC =70 , PF_R8 =71 ,
  PF_B5G5R5A1_UNORM =72 , PF_ASTC_4x4_HDR =73 , PF_ASTC_6x6_HDR =74 , PF_ASTC_8x8_HDR =75 ,
  PF_ASTC_10x10_HDR =76 , PF_ASTC_12x12_HDR =77 , PF_G16R16_SNORM =78 , PF_R8G8_UINT =79 ,
  PF_R32G32B32_UINT =80 , PF_R32G32B32_SINT =81 , PF_R32G32B32F =82 , PF_R8_SINT =83 ,
  PF_R64_UINT =84 , PF_R9G9B9EXP5 =85 , PF_P010 =86 , PF_ASTC_4x4_NORM_RG =87 ,
  PF_ASTC_6x6_NORM_RG =88 , PF_ASTC_8x8_NORM_RG =89 , PF_ASTC_10x10_NORM_RG =90 , PF_ASTC_12x12_NORM_RG =91 ,
  PF_R16G16_SINT =92 , PF_R8G8B8 =93 , PF_MAX =94
}
 
enum class  EPixelFormatChannelFlags : uint8 {
  R = 1 << 0 , G = 1 << 1 , B = 1 << 2 , A = 1 << 3 ,
  RG = R | G , RGB = R | G | B , RGBA = R | G | B | A , None = 0
}
 
enum class  EPixelFormatCapabilities : uint32 {
  None = 0 , Texture1D = 1ull << 1 , Texture2D = 1ull << 2 , Texture3D = 1ull << 3 ,
  TextureCube = 1ull << 4 , RenderTarget = 1ull << 5 , DepthStencil = 1ull << 6 , TextureMipmaps = 1ull << 7 ,
  TextureLoad = 1ull << 8 , TextureSample = 1ull << 9 , TextureGather = 1ull << 10 , TextureAtomics = 1ull << 11 ,
  TextureBlendable = 1ull << 12 , TextureStore = 1ull << 13 , Buffer = 1ull << 14 , VertexBuffer = 1ull << 15 ,
  IndexBuffer = 1ull << 16 , BufferLoad = 1ull << 17 , BufferStore = 1ull << 18 , BufferAtomics = 1ull << 19 ,
  UAV = 1ull << 20 , TypedUAVLoad = 1ull << 21 , TypedUAVStore = 1ull << 22 , TextureFilterable = 1ull << 23 ,
  LossyCompressible = 1ull << 24 , AnyTexture = Texture1D | Texture2D | Texture3D | TextureCube , AllTextureFlags = AnyTexture | RenderTarget | DepthStencil | TextureMipmaps | TextureLoad | TextureSample | TextureGather | TextureAtomics | TextureBlendable | TextureStore , AllBufferFlags = Buffer | VertexBuffer | IndexBuffer | BufferLoad | BufferStore | BufferAtomics ,
  AllUAVFlags = UAV | TypedUAVLoad | TypedUAVStore , AllFlags = AllTextureFlags | AllBufferFlags | AllUAVFlags
}
 

Functions

 ENUM_CLASS_FLAGS (EPixelFormatChannelFlags)
 
 ENUM_CLASS_FLAGS (EPixelFormatCapabilities)
 
bool IsETCBlockCompressedPixelFormat (EPixelFormat PixelFormat)
 
bool IsASTCBlockCompressedTextureFormat (EPixelFormat PixelFormat)
 
bool IsBlockCompressedFormat (EPixelFormat Format)
 
UE_FORCEINLINE_HINT bool IsAnyBlockCompressedPixelFormat (EPixelFormat PixelFormat)
 
bool IsHDR (EPixelFormat PixelFormat)
 
bool IsInteger (EPixelFormat PixelFormat)
 
bool IsFloatFormat (EPixelFormat Format)
 
bool IsDepthOrStencilFormat (EPixelFormat Format)
 
bool IsStencilFormat (EPixelFormat Format)
 
bool IsDXTCBlockCompressedTextureFormat (EPixelFormat PixelFormat)
 
UE_FORCEINLINE_HINT bool RequiresBlock4Alignment (EPixelFormat PixelFormat)
 
CORE_API const TCHARGetPixelFormatString (EPixelFormat InPixelFormat)
 
CORE_API EPixelFormat GetPixelFormatFromString (const TCHAR *InPixelFormatStr)
 
bool UE::PixelFormat::HasCapabilities (EPixelFormat InFormat, EPixelFormatCapabilities InCapabilities)
 

Variables

CORE_API FPixelFormatInfo GPixelFormats [PF_MAX]
 

Macro Definition Documentation

◆ FOREACH_ENUM_EPIXELFORMAT

#define FOREACH_ENUM_EPIXELFORMAT (   op)

◆ UE_PIXELFORMAT_TO_UINT8

#define UE_PIXELFORMAT_TO_UINT8 (   argument)    static_cast<uint8>(argument)

Enumeration Type Documentation

◆ EPixelFormat

Enumerator
PF_Unknown 
PF_A32B32G32R32F 
PF_B8G8R8A8 
PF_G8 
PF_G16 
PF_DXT1 
PF_DXT3 
PF_DXT5 
PF_UYVY 
PF_FloatRGB 
PF_FloatRGBA 
PF_DepthStencil 
PF_ShadowDepth 
PF_R32_FLOAT 
PF_G16R16 
PF_G16R16F 
PF_G16R16F_FILTER 
PF_G32R32F 
PF_A2B10G10R10 
PF_A16B16G16R16 
PF_D24 
PF_R16F 
PF_R16F_FILTER 
PF_BC5 
PF_V8U8 
PF_A1 
PF_FloatR11G11B10 
PF_A8 
PF_R32_UINT 
PF_R32_SINT 
PF_PVRTC2 
PF_PVRTC4 
PF_R16_UINT 
PF_R16_SINT 
PF_R16G16B16A16_UINT 
PF_R16G16B16A16_SINT 
PF_R5G6B5_UNORM 
PF_R8G8B8A8 
PF_A8R8G8B8 
PF_BC4 
PF_R8G8 
PF_ATC_RGB 
PF_ATC_RGBA_E 
PF_ATC_RGBA_I 
PF_X24_G8 
PF_ETC1 
PF_ETC2_RGB 
PF_ETC2_RGBA 
PF_R32G32B32A32_UINT 
PF_R16G16_UINT 
PF_ASTC_4x4 
PF_ASTC_6x6 
PF_ASTC_8x8 
PF_ASTC_10x10 
PF_ASTC_12x12 
PF_BC6H 
PF_BC7 
PF_R8_UINT 
PF_L8 
PF_XGXR8 
PF_R8G8B8A8_UINT 
PF_R8G8B8A8_SNORM 
PF_R16G16B16A16_UNORM 
PF_R16G16B16A16_SNORM 
PF_PLATFORM_HDR_0 
PF_PLATFORM_HDR_1 
PF_PLATFORM_HDR_2 
PF_NV12 
PF_R32G32_UINT 
PF_ETC2_R11_EAC 
PF_ETC2_RG11_EAC 
PF_R8 
PF_B5G5R5A1_UNORM 
PF_ASTC_4x4_HDR 
PF_ASTC_6x6_HDR 
PF_ASTC_8x8_HDR 
PF_ASTC_10x10_HDR 
PF_ASTC_12x12_HDR 
PF_G16R16_SNORM 
PF_R8G8_UINT 
PF_R32G32B32_UINT 
PF_R32G32B32_SINT 
PF_R32G32B32F 
PF_R8_SINT 
PF_R64_UINT 
PF_R9G9B9EXP5 
PF_P010 
PF_ASTC_4x4_NORM_RG 
PF_ASTC_6x6_NORM_RG 
PF_ASTC_8x8_NORM_RG 
PF_ASTC_10x10_NORM_RG 
PF_ASTC_12x12_NORM_RG 
PF_R16G16_SINT 
PF_R8G8B8 
PF_MAX 

◆ EPixelFormatCapabilities

Enumerator
None 
Texture1D 
Texture2D 
Texture3D 
TextureCube 
RenderTarget 
DepthStencil 
TextureMipmaps 
TextureLoad 
TextureSample 
TextureGather 
TextureAtomics 
TextureBlendable 
TextureStore 
Buffer 
VertexBuffer 
IndexBuffer 
BufferLoad 
BufferStore 
BufferAtomics 
UAV 
TypedUAVLoad 
TypedUAVStore 
TextureFilterable 
LossyCompressible 
AnyTexture 
AllTextureFlags 
AllBufferFlags 
AllUAVFlags 
AllFlags 

◆ EPixelFormatChannelFlags

Enumerator
RG 
RGB 
RGBA 
None 

Function Documentation

◆ ENUM_CLASS_FLAGS() [1/2]

ENUM_CLASS_FLAGS ( EPixelFormatCapabilities  )

◆ ENUM_CLASS_FLAGS() [2/2]

ENUM_CLASS_FLAGS ( EPixelFormatChannelFlags  )

◆ GetPixelFormatFromString()

CORE_API EPixelFormat GetPixelFormatFromString ( const TCHAR InPixelFormatStr)

string to enum (not case sensitive) Note this is not the FPixelFormatInfo::Name

Parameters
InPixelFormatStre.g. "PF_B8G8R8A8", must not not be 0

◆ GetPixelFormatString()

CORE_API const TCHAR * GetPixelFormatString ( EPixelFormat  InPixelFormat)

enum to string Note this is not the FPixelFormatInfo::Name

Returns
e.g. "PF_B8G8R8A8"

◆ IsAnyBlockCompressedPixelFormat()

UE_FORCEINLINE_HINT bool IsAnyBlockCompressedPixelFormat ( EPixelFormat  PixelFormat)

◆ IsASTCBlockCompressedTextureFormat()

bool IsASTCBlockCompressedTextureFormat ( EPixelFormat  PixelFormat)
inline

◆ IsBlockCompressedFormat()

bool IsBlockCompressedFormat ( EPixelFormat  Format)
inline

◆ IsDepthOrStencilFormat()

bool IsDepthOrStencilFormat ( EPixelFormat  Format)
inline

◆ IsDXTCBlockCompressedTextureFormat()

bool IsDXTCBlockCompressedTextureFormat ( EPixelFormat  PixelFormat)
inline

◆ IsETCBlockCompressedPixelFormat()

bool IsETCBlockCompressedPixelFormat ( EPixelFormat  PixelFormat)
inline

◆ IsFloatFormat()

bool IsFloatFormat ( EPixelFormat  Format)
inline

◆ IsHDR()

bool IsHDR ( EPixelFormat  PixelFormat)
inline

◆ IsInteger()

bool IsInteger ( EPixelFormat  PixelFormat)
inline

◆ IsStencilFormat()

bool IsStencilFormat ( EPixelFormat  Format)
inline

◆ RequiresBlock4Alignment()

UE_FORCEINLINE_HINT bool RequiresBlock4Alignment ( EPixelFormat  PixelFormat)

Variable Documentation

◆ GPixelFormats

CORE_API FPixelFormatInfo GPixelFormats[PF_MAX]
extern