Foundation
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
TextureDDS.hpp File Reference
#include <RHICore/Common.hpp>
#include <cstddef>
#include <cstdint>

Go to the source code of this file.

Classes

struct  DDS_PIXELFORMAT
 
struct  DDS_HEADER
 
struct  DDS_HEADER_DXT10
 

Macros

#define DDS_FOURCC   0x00000004
 
#define DDS_RGB   0x00000040
 
#define DDS_RGBA   0x00000041
 
#define DDS_LUMINANCE   0x00020000
 
#define DDS_LUMINANCEA   0x00020001
 
#define DDS_ALPHAPIXELS   0x00000001
 
#define DDS_ALPHA   0x00000002
 
#define DDS_PAL8   0x00000020
 
#define DDS_PAL8A   0x00000021
 
#define DDS_BUMPLUMINANCE   0x00040000
 
#define DDS_BUMPDUDV   0x00080000
 
#define DDS_BUMPDUDVA   0x00080001
 
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
 
#define DDS_HEADER_FLAGS_TEXTURE   0x00001007
 
#define DDS_HEADER_FLAGS_MIPMAP   0x00020000
 
#define DDS_HEADER_FLAGS_VOLUME   0x00800000
 
#define DDS_HEADER_FLAGS_PITCH   0x00000008
 
#define DDS_HEADER_FLAGS_LINEARSIZE   0x00080000
 
#define DDS_HEIGHT   0x00000002
 
#define DDS_WIDTH   0x00000004
 
#define DDS_SURFACE_FLAGS_TEXTURE   0x00001000
 
#define DDS_SURFACE_FLAGS_MIPMAP   0x00400008
 
#define DDS_SURFACE_FLAGS_CUBEMAP   0x00000008
 
#define DDS_CUBEMAP_POSITIVEX   0x00000600
 
#define DDS_CUBEMAP_NEGATIVEX   0x00000a00
 
#define DDS_CUBEMAP_POSITIVEY   0x00001200
 
#define DDS_CUBEMAP_NEGATIVEY   0x00002200
 
#define DDS_CUBEMAP_POSITIVEZ   0x00004200
 
#define DDS_CUBEMAP_NEGATIVEZ   0x00008200
 
#define DDS_CUBEMAP_ALLFACES
 
#define DDS_CUBEMAP   0x00000200
 
#define DDS_FLAGS_VOLUME   0x00200000
 

Enumerations

enum class  DXGI_FORMAT : uint32_t {
  DXGI_FORMAT_UNKNOWN = 0 , DXGI_FORMAT_R32G32B32A32_TYPELESS = 1 , DXGI_FORMAT_R32G32B32A32_FLOAT = 2 , DXGI_FORMAT_R32G32B32A32_UINT = 3 ,
  DXGI_FORMAT_R32G32B32A32_SINT = 4 , DXGI_FORMAT_R32G32B32_TYPELESS = 5 , DXGI_FORMAT_R32G32B32_FLOAT = 6 , DXGI_FORMAT_R32G32B32_UINT = 7 ,
  DXGI_FORMAT_R32G32B32_SINT = 8 , DXGI_FORMAT_R16G16B16A16_TYPELESS = 9 , DXGI_FORMAT_R16G16B16A16_FLOAT = 10 , DXGI_FORMAT_R16G16B16A16_UNORM = 11 ,
  DXGI_FORMAT_R16G16B16A16_UINT = 12 , DXGI_FORMAT_R16G16B16A16_SNORM = 13 , DXGI_FORMAT_R16G16B16A16_SINT = 14 , DXGI_FORMAT_R32G32_TYPELESS = 15 ,
  DXGI_FORMAT_R32G32_FLOAT = 16 , DXGI_FORMAT_R32G32_UINT = 17 , DXGI_FORMAT_R32G32_SINT = 18 , DXGI_FORMAT_R32G8X24_TYPELESS = 19 ,
  DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20 , DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21 , DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22 , DXGI_FORMAT_R10G10B10A2_TYPELESS = 23 ,
  DXGI_FORMAT_R10G10B10A2_UNORM = 24 , DXGI_FORMAT_R10G10B10A2_UINT = 25 , DXGI_FORMAT_R11G11B10_FLOAT = 26 , DXGI_FORMAT_R8G8B8A8_TYPELESS = 27 ,
  DXGI_FORMAT_R8G8B8A8_UNORM = 28 , DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29 , DXGI_FORMAT_R8G8B8A8_UINT = 30 , DXGI_FORMAT_R8G8B8A8_SNORM = 31 ,
  DXGI_FORMAT_R8G8B8A8_SINT = 32 , DXGI_FORMAT_R16G16_TYPELESS = 33 , DXGI_FORMAT_R16G16_FLOAT = 34 , DXGI_FORMAT_R16G16_UNORM = 35 ,
  DXGI_FORMAT_R16G16_UINT = 36 , DXGI_FORMAT_R16G16_SNORM = 37 , DXGI_FORMAT_R16G16_SINT = 38 , DXGI_FORMAT_R32_TYPELESS = 39 ,
  DXGI_FORMAT_D32_FLOAT = 40 , DXGI_FORMAT_R32_FLOAT = 41 , DXGI_FORMAT_R32_UINT = 42 , DXGI_FORMAT_R32_SINT = 43 ,
  DXGI_FORMAT_R24G8_TYPELESS = 44 , DXGI_FORMAT_D24_UNORM_S8_UINT = 45 , DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46 , DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47 ,
  DXGI_FORMAT_R8G8_TYPELESS = 48 , DXGI_FORMAT_R8G8_UNORM = 49 , DXGI_FORMAT_R8G8_UINT = 50 , DXGI_FORMAT_R8G8_SNORM = 51 ,
  DXGI_FORMAT_R8G8_SINT = 52 , DXGI_FORMAT_R16_TYPELESS = 53 , DXGI_FORMAT_R16_FLOAT = 54 , DXGI_FORMAT_D16_UNORM = 55 ,
  DXGI_FORMAT_R16_UNORM = 56 , DXGI_FORMAT_R16_UINT = 57 , DXGI_FORMAT_R16_SNORM = 58 , DXGI_FORMAT_R16_SINT = 59 ,
  DXGI_FORMAT_R8_TYPELESS = 60 , DXGI_FORMAT_R8_UNORM = 61 , DXGI_FORMAT_R8_UINT = 62 , DXGI_FORMAT_R8_SNORM = 63 ,
  DXGI_FORMAT_R8_SINT = 64 , DXGI_FORMAT_A8_UNORM = 65 , DXGI_FORMAT_R1_UNORM = 66 , DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67 ,
  DXGI_FORMAT_R8G8_B8G8_UNORM = 68 , DXGI_FORMAT_G8R8_G8B8_UNORM = 69 , DXGI_FORMAT_BC1_TYPELESS = 70 , DXGI_FORMAT_BC1_UNORM = 71 ,
  DXGI_FORMAT_BC1_UNORM_SRGB = 72 , DXGI_FORMAT_BC2_TYPELESS = 73 , DXGI_FORMAT_BC2_UNORM = 74 , DXGI_FORMAT_BC2_UNORM_SRGB = 75 ,
  DXGI_FORMAT_BC3_TYPELESS = 76 , DXGI_FORMAT_BC3_UNORM = 77 , DXGI_FORMAT_BC3_UNORM_SRGB = 78 , DXGI_FORMAT_BC4_TYPELESS = 79 ,
  DXGI_FORMAT_BC4_UNORM = 80 , DXGI_FORMAT_BC4_SNORM = 81 , DXGI_FORMAT_BC5_TYPELESS = 82 , DXGI_FORMAT_BC5_UNORM = 83 ,
  DXGI_FORMAT_BC5_SNORM = 84 , DXGI_FORMAT_B5G6R5_UNORM = 85 , DXGI_FORMAT_B5G5R5A1_UNORM = 86 , DXGI_FORMAT_B8G8R8A8_UNORM = 87 ,
  DXGI_FORMAT_B8G8R8X8_UNORM = 88 , DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89 , DXGI_FORMAT_B8G8R8A8_TYPELESS = 90 , DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91 ,
  DXGI_FORMAT_B8G8R8X8_TYPELESS = 92 , DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93 , DXGI_FORMAT_BC6H_TYPELESS = 94 , DXGI_FORMAT_BC6H_UF16 = 95 ,
  DXGI_FORMAT_BC6H_SF16 = 96 , DXGI_FORMAT_BC7_TYPELESS = 97 , DXGI_FORMAT_BC7_UNORM = 98 , DXGI_FORMAT_BC7_UNORM_SRGB = 99 ,
  DXGI_FORMAT_AYUV = 100 , DXGI_FORMAT_Y410 = 101 , DXGI_FORMAT_Y416 = 102 , DXGI_FORMAT_NV12 = 103 ,
  DXGI_FORMAT_P010 = 104 , DXGI_FORMAT_P016 = 105 , DXGI_FORMAT_420_OPAQUE = 106 , DXGI_FORMAT_YUY2 = 107 ,
  DXGI_FORMAT_Y210 = 108 , DXGI_FORMAT_Y216 = 109 , DXGI_FORMAT_NV11 = 110 , DXGI_FORMAT_AI44 = 111 ,
  DXGI_FORMAT_IA44 = 112 , DXGI_FORMAT_P8 = 113 , DXGI_FORMAT_A8P8 = 114 , DXGI_FORMAT_B4G4R4A4_UNORM = 115 ,
  DXGI_FORMAT_P208 = 130 , DXGI_FORMAT_V208 = 131 , DXGI_FORMAT_V408 = 132 , DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189 ,
  DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190 , DXGI_FORMAT_FORCE_UINT = 0xffffffff
}
 
enum class  DDS_RESOURCE_DIMENSION : uint32_t { DDS_DIMENSION_TEXTURE1D = 2 , DDS_DIMENSION_TEXTURE2D = 3 , DDS_DIMENSION_TEXTURE3D = 4 }
 
enum class  DDS_RESOURCE_MISC_FLAG : uint32_t { DDS_RESOURCE_MISC_TEXTURECUBE = 0x4L }
 
enum class  DDS_MISC_FLAGS2 : uint32_t { DDS_MISC_FLAGS2_ALPHA_MODE_MASK = 0x7L }
 
enum class  DDS_ALPHA_MODE : uint32_t {
  DDS_ALPHA_MODE_UNKNOWN = 0 , DDS_ALPHA_MODE_STRAIGHT = 1 , DDS_ALPHA_MODE_PREMULTIPLIED = 2 , DDS_ALPHA_MODE_OPAQUE = 3 ,
  DDS_ALPHA_MODE_CUSTOM = 4
}
 

Functions

void ddsCreateHeader (DDS_HEADER &header, uint32_t width, uint32_t height, uint32_t mipCount, uint32_t depth=1)
 
void ddsSetFormat (DDS_HEADER &header, DDS_HEADER_DXT10 &header10, uint32_t layerCount, Foundation::RHI::RHIResourceFormat format, Foundation::RHI::RHITextureDimension dimension=Foundation::RHI::RHITextureDimension::E2D)
 

Variables

constexpr uint32_t DDS_MAGIC = 0x20534444
 
constexpr DDS_PIXELFORMAT DDSPF_DXT1
 
constexpr DDS_PIXELFORMAT DDSPF_DXT2
 
constexpr DDS_PIXELFORMAT DDSPF_DXT3
 
constexpr DDS_PIXELFORMAT DDSPF_DXT4
 
constexpr DDS_PIXELFORMAT DDSPF_DXT5
 
constexpr DDS_PIXELFORMAT DDSPF_BC4_UNORM
 
constexpr DDS_PIXELFORMAT DDSPF_BC4_SNORM
 
constexpr DDS_PIXELFORMAT DDSPF_BC5_UNORM
 
constexpr DDS_PIXELFORMAT DDSPF_BC5_SNORM
 
constexpr DDS_PIXELFORMAT DDSPF_R8G8_B8G8
 
constexpr DDS_PIXELFORMAT DDSPF_G8R8_G8B8
 
constexpr DDS_PIXELFORMAT DDSPF_YUY2
 
constexpr DDS_PIXELFORMAT DDSPF_UYVY
 
constexpr DDS_PIXELFORMAT DDSPF_A8R8G8B8
 
constexpr DDS_PIXELFORMAT DDSPF_X8R8G8B8
 
constexpr DDS_PIXELFORMAT DDSPF_A8B8G8R8
 
constexpr DDS_PIXELFORMAT DDSPF_X8B8G8R8
 
constexpr DDS_PIXELFORMAT DDSPF_G16R16 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 32, 0x0000ffff, 0xffff0000, 0, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_R5G6B5 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0xf800, 0x07e0, 0x001f, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_A1R5G5B5 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x7c00, 0x03e0, 0x001f, 0x8000}
 
constexpr DDS_PIXELFORMAT DDSPF_X1R5G5B5 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0x7c00, 0x03e0, 0x001f, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_A4R4G4B4 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x0f00, 0x00f0, 0x000f, 0xf000}
 
constexpr DDS_PIXELFORMAT DDSPF_X4R4G4B4 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0x0f00, 0x00f0, 0x000f, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_R8G8B8 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_A8R3G3B2 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x00e0, 0x001c, 0x0003, 0xff00}
 
constexpr DDS_PIXELFORMAT DDSPF_R3G3B2 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 8, 0xe0, 0x1c, 0x03, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_A4L4 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCEA, 0, 8, 0x0f, 0, 0, 0xf0}
 
constexpr DDS_PIXELFORMAT DDSPF_L8 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCE, 0, 8, 0xff, 0, 0, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_L16 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCE, 0, 16, 0xffff, 0, 0, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_A8L8 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCEA, 0, 16, 0x00ff, 0, 0, 0xff00}
 
constexpr DDS_PIXELFORMAT DDSPF_A8L8_ALT = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCEA, 0, 8, 0x00ff, 0, 0, 0xff00}
 
constexpr DDS_PIXELFORMAT DDSPF_L8_NVTT1 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 8, 0xff, 0, 0, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_L16_NVTT1 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0xffff, 0, 0, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_A8L8_NVTT1 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x00ff, 0, 0, 0xff00}
 
constexpr DDS_PIXELFORMAT DDSPF_A8 = {sizeof(DDS_PIXELFORMAT), DDS_ALPHA, 0, 8, 0, 0, 0, 0xff}
 
constexpr DDS_PIXELFORMAT DDSPF_V8U8 = {sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 16, 0x00ff, 0xff00, 0, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_Q8W8V8U8
 
constexpr DDS_PIXELFORMAT DDSPF_V16U16 = {sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 32, 0x0000ffff, 0xffff0000, 0, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_A2R10G10B10
 
constexpr DDS_PIXELFORMAT DDSPF_A2B10G10R10
 
constexpr DDS_PIXELFORMAT DDSPF_A2W10V10U10
 
constexpr DDS_PIXELFORMAT DDSPF_L6V5U5 = {sizeof(DDS_PIXELFORMAT), DDS_BUMPLUMINANCE, 0, 16, 0x001f, 0x03e0, 0xfc00, 0}
 
constexpr DDS_PIXELFORMAT DDSPF_X8L8V8U8
 
constexpr DDS_PIXELFORMAT DDSPF_DX10
 
constexpr size_t DDS_MIN_HEADER_SIZE = sizeof(uint32_t) + sizeof(DDS_HEADER)
 
constexpr size_t DDS_DX10_HEADER_SIZE = sizeof(uint32_t) + sizeof(DDS_HEADER) + sizeof(DDS_HEADER_DXT10)
 

Macro Definition Documentation

◆ DDS_ALPHA

#define DDS_ALPHA   0x00000002

◆ DDS_ALPHAPIXELS

#define DDS_ALPHAPIXELS   0x00000001

◆ DDS_BUMPDUDV

#define DDS_BUMPDUDV   0x00080000

◆ DDS_BUMPDUDVA

#define DDS_BUMPDUDVA   0x00080001

◆ DDS_BUMPLUMINANCE

#define DDS_BUMPLUMINANCE   0x00040000

◆ DDS_CUBEMAP

#define DDS_CUBEMAP   0x00000200

◆ DDS_CUBEMAP_ALLFACES

#define DDS_CUBEMAP_ALLFACES
Value:
#define DDS_CUBEMAP_NEGATIVEY
Definition TextureDDS.hpp:297
#define DDS_CUBEMAP_POSITIVEY
Definition TextureDDS.hpp:296
#define DDS_CUBEMAP_POSITIVEX
Definition TextureDDS.hpp:294
#define DDS_CUBEMAP_NEGATIVEX
Definition TextureDDS.hpp:295
#define DDS_CUBEMAP_POSITIVEZ
Definition TextureDDS.hpp:298
#define DDS_CUBEMAP_NEGATIVEZ
Definition TextureDDS.hpp:299

◆ DDS_CUBEMAP_NEGATIVEX

#define DDS_CUBEMAP_NEGATIVEX   0x00000a00

◆ DDS_CUBEMAP_NEGATIVEY

#define DDS_CUBEMAP_NEGATIVEY   0x00002200

◆ DDS_CUBEMAP_NEGATIVEZ

#define DDS_CUBEMAP_NEGATIVEZ   0x00008200

◆ DDS_CUBEMAP_POSITIVEX

#define DDS_CUBEMAP_POSITIVEX   0x00000600

◆ DDS_CUBEMAP_POSITIVEY

#define DDS_CUBEMAP_POSITIVEY   0x00001200

◆ DDS_CUBEMAP_POSITIVEZ

#define DDS_CUBEMAP_POSITIVEZ   0x00004200

◆ DDS_FLAGS_VOLUME

#define DDS_FLAGS_VOLUME   0x00200000

◆ DDS_FOURCC

#define DDS_FOURCC   0x00000004

◆ DDS_HEADER_FLAGS_LINEARSIZE

#define DDS_HEADER_FLAGS_LINEARSIZE   0x00080000

◆ DDS_HEADER_FLAGS_MIPMAP

#define DDS_HEADER_FLAGS_MIPMAP   0x00020000

◆ DDS_HEADER_FLAGS_PITCH

#define DDS_HEADER_FLAGS_PITCH   0x00000008

◆ DDS_HEADER_FLAGS_TEXTURE

#define DDS_HEADER_FLAGS_TEXTURE   0x00001007

◆ DDS_HEADER_FLAGS_VOLUME

#define DDS_HEADER_FLAGS_VOLUME   0x00800000

◆ DDS_HEIGHT

#define DDS_HEIGHT   0x00000002

◆ DDS_LUMINANCE

#define DDS_LUMINANCE   0x00020000

◆ DDS_LUMINANCEA

#define DDS_LUMINANCEA   0x00020001

◆ DDS_PAL8

#define DDS_PAL8   0x00000020

◆ DDS_PAL8A

#define DDS_PAL8A   0x00000021

◆ DDS_RGB

#define DDS_RGB   0x00000040

◆ DDS_RGBA

#define DDS_RGBA   0x00000041

◆ DDS_SURFACE_FLAGS_CUBEMAP

#define DDS_SURFACE_FLAGS_CUBEMAP   0x00000008

◆ DDS_SURFACE_FLAGS_MIPMAP

#define DDS_SURFACE_FLAGS_MIPMAP   0x00400008

◆ DDS_SURFACE_FLAGS_TEXTURE

#define DDS_SURFACE_FLAGS_TEXTURE   0x00001000

◆ DDS_WIDTH

#define DDS_WIDTH   0x00000004

◆ MAKEFOURCC

#define MAKEFOURCC (   ch0,
  ch1,
  ch2,
  ch3 
)
Value:
(static_cast<uint32_t>(static_cast<uint8_t>(ch0)) | (static_cast<uint32_t>(static_cast<uint8_t>(ch1)) << 8) | \
(static_cast<uint32_t>(static_cast<uint8_t>(ch2)) << 16) | \
(static_cast<uint32_t>(static_cast<uint8_t>(ch3)) << 24))

Enumeration Type Documentation

◆ DDS_ALPHA_MODE

enum class DDS_ALPHA_MODE : uint32_t
strong
Enumerator
DDS_ALPHA_MODE_UNKNOWN 
DDS_ALPHA_MODE_STRAIGHT 
DDS_ALPHA_MODE_PREMULTIPLIED 
DDS_ALPHA_MODE_OPAQUE 
DDS_ALPHA_MODE_CUSTOM 

◆ DDS_MISC_FLAGS2

enum class DDS_MISC_FLAGS2 : uint32_t
strong
Enumerator
DDS_MISC_FLAGS2_ALPHA_MODE_MASK 

◆ DDS_RESOURCE_DIMENSION

enum class DDS_RESOURCE_DIMENSION : uint32_t
strong
Enumerator
DDS_DIMENSION_TEXTURE1D 
DDS_DIMENSION_TEXTURE2D 
DDS_DIMENSION_TEXTURE3D 

◆ DDS_RESOURCE_MISC_FLAG

enum class DDS_RESOURCE_MISC_FLAG : uint32_t
strong
Enumerator
DDS_RESOURCE_MISC_TEXTURECUBE 

◆ DXGI_FORMAT

enum class DXGI_FORMAT : uint32_t
strong
Enumerator
DXGI_FORMAT_UNKNOWN 
DXGI_FORMAT_R32G32B32A32_TYPELESS 
DXGI_FORMAT_R32G32B32A32_FLOAT 
DXGI_FORMAT_R32G32B32A32_UINT 
DXGI_FORMAT_R32G32B32A32_SINT 
DXGI_FORMAT_R32G32B32_TYPELESS 
DXGI_FORMAT_R32G32B32_FLOAT 
DXGI_FORMAT_R32G32B32_UINT 
DXGI_FORMAT_R32G32B32_SINT 
DXGI_FORMAT_R16G16B16A16_TYPELESS 
DXGI_FORMAT_R16G16B16A16_FLOAT 
DXGI_FORMAT_R16G16B16A16_UNORM 
DXGI_FORMAT_R16G16B16A16_UINT 
DXGI_FORMAT_R16G16B16A16_SNORM 
DXGI_FORMAT_R16G16B16A16_SINT 
DXGI_FORMAT_R32G32_TYPELESS 
DXGI_FORMAT_R32G32_FLOAT 
DXGI_FORMAT_R32G32_UINT 
DXGI_FORMAT_R32G32_SINT 
DXGI_FORMAT_R32G8X24_TYPELESS 
DXGI_FORMAT_D32_FLOAT_S8X24_UINT 
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS 
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT 
DXGI_FORMAT_R10G10B10A2_TYPELESS 
DXGI_FORMAT_R10G10B10A2_UNORM 
DXGI_FORMAT_R10G10B10A2_UINT 
DXGI_FORMAT_R11G11B10_FLOAT 
DXGI_FORMAT_R8G8B8A8_TYPELESS 
DXGI_FORMAT_R8G8B8A8_UNORM 
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 
DXGI_FORMAT_R8G8B8A8_UINT 
DXGI_FORMAT_R8G8B8A8_SNORM 
DXGI_FORMAT_R8G8B8A8_SINT 
DXGI_FORMAT_R16G16_TYPELESS 
DXGI_FORMAT_R16G16_FLOAT 
DXGI_FORMAT_R16G16_UNORM 
DXGI_FORMAT_R16G16_UINT 
DXGI_FORMAT_R16G16_SNORM 
DXGI_FORMAT_R16G16_SINT 
DXGI_FORMAT_R32_TYPELESS 
DXGI_FORMAT_D32_FLOAT 
DXGI_FORMAT_R32_FLOAT 
DXGI_FORMAT_R32_UINT 
DXGI_FORMAT_R32_SINT 
DXGI_FORMAT_R24G8_TYPELESS 
DXGI_FORMAT_D24_UNORM_S8_UINT 
DXGI_FORMAT_R24_UNORM_X8_TYPELESS 
DXGI_FORMAT_X24_TYPELESS_G8_UINT 
DXGI_FORMAT_R8G8_TYPELESS 
DXGI_FORMAT_R8G8_UNORM 
DXGI_FORMAT_R8G8_UINT 
DXGI_FORMAT_R8G8_SNORM 
DXGI_FORMAT_R8G8_SINT 
DXGI_FORMAT_R16_TYPELESS 
DXGI_FORMAT_R16_FLOAT 
DXGI_FORMAT_D16_UNORM 
DXGI_FORMAT_R16_UNORM 
DXGI_FORMAT_R16_UINT 
DXGI_FORMAT_R16_SNORM 
DXGI_FORMAT_R16_SINT 
DXGI_FORMAT_R8_TYPELESS 
DXGI_FORMAT_R8_UNORM 
DXGI_FORMAT_R8_UINT 
DXGI_FORMAT_R8_SNORM 
DXGI_FORMAT_R8_SINT 
DXGI_FORMAT_A8_UNORM 
DXGI_FORMAT_R1_UNORM 
DXGI_FORMAT_R9G9B9E5_SHAREDEXP 
DXGI_FORMAT_R8G8_B8G8_UNORM 
DXGI_FORMAT_G8R8_G8B8_UNORM 
DXGI_FORMAT_BC1_TYPELESS 
DXGI_FORMAT_BC1_UNORM 
DXGI_FORMAT_BC1_UNORM_SRGB 
DXGI_FORMAT_BC2_TYPELESS 
DXGI_FORMAT_BC2_UNORM 
DXGI_FORMAT_BC2_UNORM_SRGB 
DXGI_FORMAT_BC3_TYPELESS 
DXGI_FORMAT_BC3_UNORM 
DXGI_FORMAT_BC3_UNORM_SRGB 
DXGI_FORMAT_BC4_TYPELESS 
DXGI_FORMAT_BC4_UNORM 
DXGI_FORMAT_BC4_SNORM 
DXGI_FORMAT_BC5_TYPELESS 
DXGI_FORMAT_BC5_UNORM 
DXGI_FORMAT_BC5_SNORM 
DXGI_FORMAT_B5G6R5_UNORM 
DXGI_FORMAT_B5G5R5A1_UNORM 
DXGI_FORMAT_B8G8R8A8_UNORM 
DXGI_FORMAT_B8G8R8X8_UNORM 
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM 
DXGI_FORMAT_B8G8R8A8_TYPELESS 
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB 
DXGI_FORMAT_B8G8R8X8_TYPELESS 
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB 
DXGI_FORMAT_BC6H_TYPELESS 
DXGI_FORMAT_BC6H_UF16 
DXGI_FORMAT_BC6H_SF16 
DXGI_FORMAT_BC7_TYPELESS 
DXGI_FORMAT_BC7_UNORM 
DXGI_FORMAT_BC7_UNORM_SRGB 
DXGI_FORMAT_AYUV 
DXGI_FORMAT_Y410 
DXGI_FORMAT_Y416 
DXGI_FORMAT_NV12 
DXGI_FORMAT_P010 
DXGI_FORMAT_P016 
DXGI_FORMAT_420_OPAQUE 
DXGI_FORMAT_YUY2 
DXGI_FORMAT_Y210 
DXGI_FORMAT_Y216 
DXGI_FORMAT_NV11 
DXGI_FORMAT_AI44 
DXGI_FORMAT_IA44 
DXGI_FORMAT_P8 
DXGI_FORMAT_A8P8 
DXGI_FORMAT_B4G4R4A4_UNORM 
DXGI_FORMAT_P208 
DXGI_FORMAT_V208 
DXGI_FORMAT_V408 
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE 
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE 
DXGI_FORMAT_FORCE_UINT 

Function Documentation

◆ ddsCreateHeader()

void ddsCreateHeader ( DDS_HEADER header,
uint32_t  width,
uint32_t  height,
uint32_t  mipCount,
uint32_t  depth = 1 
)
inline

◆ ddsSetFormat()

void ddsSetFormat ( DDS_HEADER header,
DDS_HEADER_DXT10 header10,
uint32_t  layerCount,
Foundation::RHI::RHIResourceFormat  format,
Foundation::RHI::RHITextureDimension  dimension = Foundation::RHI::RHITextureDimension::E2D 
)
inline

Variable Documentation

◆ DDS_DX10_HEADER_SIZE

constexpr size_t DDS_DX10_HEADER_SIZE = sizeof(uint32_t) + sizeof(DDS_HEADER) + sizeof(DDS_HEADER_DXT10)
constexpr

◆ DDS_MAGIC

constexpr uint32_t DDS_MAGIC = 0x20534444
constexpr

◆ DDS_MIN_HEADER_SIZE

constexpr size_t DDS_MIN_HEADER_SIZE = sizeof(uint32_t) + sizeof(DDS_HEADER)
constexpr

◆ DDSPF_A1R5G5B5

constexpr DDS_PIXELFORMAT DDSPF_A1R5G5B5 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x7c00, 0x03e0, 0x001f, 0x8000}
constexpr

◆ DDSPF_A2B10G10R10

constexpr DDS_PIXELFORMAT DDSPF_A2B10G10R10
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 32, 0x3ff00000, 0x000ffc00, 0x000003ff, 0xc0000000}
#define DDS_RGBA
Definition TextureDDS.hpp:151
Definition TextureDDS.hpp:138

◆ DDSPF_A2R10G10B10

constexpr DDS_PIXELFORMAT DDSPF_A2R10G10B10
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 32, 0x000003ff, 0x000ffc00, 0x3ff00000, 0xc0000000}

◆ DDSPF_A2W10V10U10

constexpr DDS_PIXELFORMAT DDSPF_A2W10V10U10
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDVA, 0, 32, 0x3ff00000, 0x000ffc00, 0x000003ff, 0xc0000000}
#define DDS_BUMPDUDVA
Definition TextureDDS.hpp:160

◆ DDSPF_A4L4

constexpr DDS_PIXELFORMAT DDSPF_A4L4 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCEA, 0, 8, 0x0f, 0, 0, 0xf0}
constexpr

◆ DDSPF_A4R4G4B4

constexpr DDS_PIXELFORMAT DDSPF_A4R4G4B4 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x0f00, 0x00f0, 0x000f, 0xf000}
constexpr

◆ DDSPF_A8

constexpr DDS_PIXELFORMAT DDSPF_A8 = {sizeof(DDS_PIXELFORMAT), DDS_ALPHA, 0, 8, 0, 0, 0, 0xff}
constexpr

◆ DDSPF_A8B8G8R8

constexpr DDS_PIXELFORMAT DDSPF_A8B8G8R8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000}

◆ DDSPF_A8L8

constexpr DDS_PIXELFORMAT DDSPF_A8L8 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCEA, 0, 16, 0x00ff, 0, 0, 0xff00}
constexpr

◆ DDSPF_A8L8_ALT

constexpr DDS_PIXELFORMAT DDSPF_A8L8_ALT = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCEA, 0, 8, 0x00ff, 0, 0, 0xff00}
constexpr

◆ DDSPF_A8L8_NVTT1

constexpr DDS_PIXELFORMAT DDSPF_A8L8_NVTT1 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x00ff, 0, 0, 0xff00}
constexpr

◆ DDSPF_A8R3G3B2

constexpr DDS_PIXELFORMAT DDSPF_A8R3G3B2 = {sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 16, 0x00e0, 0x001c, 0x0003, 0xff00}
constexpr

◆ DDSPF_A8R8G8B8

constexpr DDS_PIXELFORMAT DDSPF_A8R8G8B8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_RGBA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000}

◆ DDSPF_BC4_SNORM

constexpr DDS_PIXELFORMAT DDSPF_BC4_SNORM
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B', 'C', '4', 'S'), 0, 0, 0, 0, 0}
#define DDS_FOURCC
Definition TextureDDS.hpp:149
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
Definition TextureDDS.hpp:163

◆ DDSPF_BC4_UNORM

constexpr DDS_PIXELFORMAT DDSPF_BC4_UNORM
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B', 'C', '4', 'U'), 0, 0, 0, 0, 0}

◆ DDSPF_BC5_SNORM

constexpr DDS_PIXELFORMAT DDSPF_BC5_SNORM
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B', 'C', '5', 'S'), 0, 0, 0, 0, 0}

◆ DDSPF_BC5_UNORM

constexpr DDS_PIXELFORMAT DDSPF_BC5_UNORM
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('B', 'C', '5', 'U'), 0, 0, 0, 0, 0}

◆ DDSPF_DX10

constexpr DDS_PIXELFORMAT DDSPF_DX10
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D', 'X', '1', '0'), 0, 0, 0, 0, 0}

◆ DDSPF_DXT1

constexpr DDS_PIXELFORMAT DDSPF_DXT1
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D', 'X', 'T', '1'), 0, 0, 0, 0, 0}

◆ DDSPF_DXT2

constexpr DDS_PIXELFORMAT DDSPF_DXT2
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D', 'X', 'T', '2'), 0, 0, 0, 0, 0}

◆ DDSPF_DXT3

constexpr DDS_PIXELFORMAT DDSPF_DXT3
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D', 'X', 'T', '3'), 0, 0, 0, 0, 0}

◆ DDSPF_DXT4

constexpr DDS_PIXELFORMAT DDSPF_DXT4
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D', 'X', 'T', '4'), 0, 0, 0, 0, 0}

◆ DDSPF_DXT5

constexpr DDS_PIXELFORMAT DDSPF_DXT5
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('D', 'X', 'T', '5'), 0, 0, 0, 0, 0}

◆ DDSPF_G16R16

constexpr DDS_PIXELFORMAT DDSPF_G16R16 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 32, 0x0000ffff, 0xffff0000, 0, 0}
constexpr

◆ DDSPF_G8R8_G8B8

constexpr DDS_PIXELFORMAT DDSPF_G8R8_G8B8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('G', 'R', 'G', 'B'), 0, 0, 0, 0, 0}

◆ DDSPF_L16

constexpr DDS_PIXELFORMAT DDSPF_L16 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCE, 0, 16, 0xffff, 0, 0, 0}
constexpr

◆ DDSPF_L16_NVTT1

constexpr DDS_PIXELFORMAT DDSPF_L16_NVTT1 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0xffff, 0, 0, 0}
constexpr

◆ DDSPF_L6V5U5

constexpr DDS_PIXELFORMAT DDSPF_L6V5U5 = {sizeof(DDS_PIXELFORMAT), DDS_BUMPLUMINANCE, 0, 16, 0x001f, 0x03e0, 0xfc00, 0}
constexpr

◆ DDSPF_L8

constexpr DDS_PIXELFORMAT DDSPF_L8 = {sizeof(DDS_PIXELFORMAT), DDS_LUMINANCE, 0, 8, 0xff, 0, 0, 0}
constexpr

◆ DDSPF_L8_NVTT1

constexpr DDS_PIXELFORMAT DDSPF_L8_NVTT1 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 8, 0xff, 0, 0, 0}
constexpr

◆ DDSPF_Q8W8V8U8

constexpr DDS_PIXELFORMAT DDSPF_Q8W8V8U8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000}
#define DDS_BUMPDUDV
Definition TextureDDS.hpp:159

◆ DDSPF_R3G3B2

constexpr DDS_PIXELFORMAT DDSPF_R3G3B2 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 8, 0xe0, 0x1c, 0x03, 0}
constexpr

◆ DDSPF_R5G6B5

constexpr DDS_PIXELFORMAT DDSPF_R5G6B5 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0xf800, 0x07e0, 0x001f, 0}
constexpr

◆ DDSPF_R8G8_B8G8

constexpr DDS_PIXELFORMAT DDSPF_R8G8_B8G8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('R', 'G', 'B', 'G'), 0, 0, 0, 0, 0}

◆ DDSPF_R8G8B8

constexpr DDS_PIXELFORMAT DDSPF_R8G8B8 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0}
constexpr

◆ DDSPF_UYVY

constexpr DDS_PIXELFORMAT DDSPF_UYVY
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('U', 'Y', 'V', 'Y'), 0, 0, 0, 0, 0}

◆ DDSPF_V16U16

constexpr DDS_PIXELFORMAT DDSPF_V16U16 = {sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 32, 0x0000ffff, 0xffff0000, 0, 0}
constexpr

◆ DDSPF_V8U8

constexpr DDS_PIXELFORMAT DDSPF_V8U8 = {sizeof(DDS_PIXELFORMAT), DDS_BUMPDUDV, 0, 16, 0x00ff, 0xff00, 0, 0}
constexpr

◆ DDSPF_X1R5G5B5

constexpr DDS_PIXELFORMAT DDSPF_X1R5G5B5 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0x7c00, 0x03e0, 0x001f, 0}
constexpr

◆ DDSPF_X4R4G4B4

constexpr DDS_PIXELFORMAT DDSPF_X4R4G4B4 = {sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 16, 0x0f00, 0x00f0, 0x000f, 0}
constexpr

◆ DDSPF_X8B8G8R8

constexpr DDS_PIXELFORMAT DDSPF_X8B8G8R8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0}
#define DDS_RGB
Definition TextureDDS.hpp:150

◆ DDSPF_X8L8V8U8

constexpr DDS_PIXELFORMAT DDSPF_X8L8V8U8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_BUMPLUMINANCE, 0, 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0}
#define DDS_BUMPLUMINANCE
Definition TextureDDS.hpp:158

◆ DDSPF_X8R8G8B8

constexpr DDS_PIXELFORMAT DDSPF_X8R8G8B8
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_RGB, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0}

◆ DDSPF_YUY2

constexpr DDS_PIXELFORMAT DDSPF_YUY2
constexpr
Initial value:
= {
sizeof(DDS_PIXELFORMAT), DDS_FOURCC, MAKEFOURCC('Y', 'U', 'Y', '2'), 0, 0, 0, 0, 0}