42 #ifndef INCLUDED_DDS_H 
   43 #define INCLUDED_DDS_H 
   51 #include "DXGIFormat.h" 
   60 typedef unsigned char BYTE;  
 
   74 #        define MAKEFOURCC( ch0, ch1, ch2, ch3 ) \ 
   75             ( ( DWORD )( BYTE )( ch0 ) | ( ( DWORD )( BYTE )( ch1 ) << 8 ) | ( ( DWORD )( BYTE )( ch2 ) << 16 ) | ( ( DWORD )( BYTE )( ch3 ) << 24 ) ) 
   95     D3DFMT_A2B10G10R10  = 31,
 
   99     D3DFMT_A2R10G10B10  = 35,
 
  100     D3DFMT_A16B16G16R16 = 36,
 
  111     D3DFMT_X8L8V8U8    = 62,
 
  112     D3DFMT_Q8W8V8U8    = 63,
 
  114     D3DFMT_A2W10V10U10 = 67,
 
  116     D3DFMT_UYVY      = 
MAKEFOURCC( 
'U', 
'Y', 
'V', 
'Y' ),
 
  117     D3DFMT_R8G8_B8G8 = 
MAKEFOURCC( 
'R', 
'G', 
'B', 
'G' ),
 
  118     D3DFMT_YUY2      = 
MAKEFOURCC( 
'Y', 
'U', 
'Y', 
'2' ),
 
  119     D3DFMT_G8R8_G8B8 = 
MAKEFOURCC( 
'G', 
'R', 
'G', 
'B' ),
 
  120     D3DFMT_DXT1      = 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'1' ),
 
  121     D3DFMT_DXT2      = 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'2' ),
 
  122     D3DFMT_DXT3      = 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'3' ),
 
  123     D3DFMT_DXT4      = 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'4' ),
 
  124     D3DFMT_DXT5      = 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'5' ),
 
  126     D3DFMT_D16_LOCKABLE = 70,
 
  134     D3DFMT_D32F_LOCKABLE = 82,
 
  138 #    if !defined( D3D_DISABLE_9EX ) 
  141     D3DFMT_D32_LOCKABLE = 84,
 
  142     D3DFMT_S8_LOCKABLE  = 85,
 
  144 #    endif // !D3D_DISABLE_9EX 
  149     D3DFMT_VERTEXDATA = 100,
 
  150     D3DFMT_INDEX16    = 101,
 
  151     D3DFMT_INDEX32    = 102,
 
  153     D3DFMT_Q16W16V16U16 = 110,
 
  155     D3DFMT_MULTI2_ARGB8 = 
MAKEFOURCC( 
'M', 
'E', 
'T', 
'1' ),
 
  161     D3DFMT_G16R16F       = 112,
 
  162     D3DFMT_A16B16G16R16F = 113,
 
  166     D3DFMT_G32R32F       = 115,
 
  167     D3DFMT_A32B32G32R32F = 116,
 
  172 #    if !defined( D3D_DISABLE_9EX ) 
  178     D3DFMT_A2B10G10R10_XR_BIAS = 119,
 
  181     D3DFMT_BINARYBUFFER = 199,
 
  183 #    endif // !D3D_DISABLE_9EX 
  186     D3DFMT_FORCE_DWORD = 0x7fffffff
 
  189 #endif // _d3d9TYPES_H_ 
  199 #    define D3D10_REQ_MIP_LEVELS ( 14 ) 
  204 #    define D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 512 ) 
  210     D3D10_RESOURCE_DIMENSION_UNKNOWN   = 0,
 
  211     D3D10_RESOURCE_DIMENSION_BUFFER    = 1,
 
  212     D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2,
 
  213     D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3,
 
  214     D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
 
  217 #endif // __d3d10_h__ 
  224 #    pragma pack( push, 1 ) 
  229 #    define DDS_MAGIC 0x20534444 // "DDS " 
  247 #    define DDS_FOURCC 0x00000004 
  251 #    define DDS_RGB 0x00000040 
  255 #    define DDS_RGBA 0x00000041 
  260 #    define DDS_LUMINANCE 0x00020000 
  264 #    define DDS_ALPHA 0x00000002 
  266 const DDS_PIXELFORMAT DDSPF_DXT1 = { 
sizeof( 
DDS_PIXELFORMAT ), 
DDS_FOURCC, 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'1' ), 0, 0, 0, 0, 0 }; 
 
  268 const DDS_PIXELFORMAT DDSPF_DXT2 = { 
sizeof( 
DDS_PIXELFORMAT ), 
DDS_FOURCC, 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'2' ), 0, 0, 0, 0, 0 }; 
 
  270 const DDS_PIXELFORMAT DDSPF_DXT3 = { 
sizeof( 
DDS_PIXELFORMAT ), 
DDS_FOURCC, 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'3' ), 0, 0, 0, 0, 0 }; 
 
  272 const DDS_PIXELFORMAT DDSPF_DXT4 = { 
sizeof( 
DDS_PIXELFORMAT ), 
DDS_FOURCC, 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'4' ), 0, 0, 0, 0, 0 }; 
 
  274 const DDS_PIXELFORMAT DDSPF_DXT5 = { 
sizeof( 
DDS_PIXELFORMAT ), 
DDS_FOURCC, 
MAKEFOURCC( 
'D', 
'X', 
'T', 
'5' ), 0, 0, 0, 0, 0 }; 
 
  287 const DDS_PIXELFORMAT DDSPF_DX10 = { 
sizeof( 
DDS_PIXELFORMAT ), 
DDS_FOURCC, 
MAKEFOURCC( 
'D', 
'X', 
'1', 
'0' ), 0, 0, 0, 0, 0 }; 
 
  289 #    define DDS_HEADER_FLAGS_TEXTURE 0x00001007     
  290 #    define DDS_HEADER_FLAGS_MIPMAP 0x00020000     
 
  291 #    define DDS_HEADER_FLAGS_VOLUME 0x00800000     
 
  292 #    define DDS_HEADER_FLAGS_PITCH 0x00000008      
 
  293 #    define DDS_HEADER_FLAGS_LINEARSIZE 0x00080000 
 
  295 #    define DDS_SURFACE_FLAGS_TEXTURE 0x00001000  
  296 #    define DDS_SURFACE_FLAGS_MIPMAP 0x00400008  
 
  297 #    define DDS_SURFACE_FLAGS_CUBEMAP 0x00000008 
 
  299 #    define DDSCAPS2_CUBEMAP 0x00000200 
  300 #    define DDS_CUBEMAP_POSITIVEX 0x00000600  
  301 #    define DDS_CUBEMAP_NEGATIVEX 0x00000a00 
 
  302 #    define DDS_CUBEMAP_POSITIVEY 0x00001200 
 
  303 #    define DDS_CUBEMAP_NEGATIVEY 0x00002200 
 
  304 #    define DDS_CUBEMAP_POSITIVEZ 0x00004200 
 
  305 #    define DDS_CUBEMAP_NEGATIVEZ 0x00008200 
 
  309 #    define DDS_CUBEMAP_ALLFACES ( DDS_CUBEMAP_POSITIVEX | DDS_CUBEMAP_NEGATIVEX | DDS_CUBEMAP_POSITIVEY | DDS_CUBEMAP_NEGATIVEY | DDS_CUBEMAP_POSITIVEZ | DDS_CUBEMAP_NEGATIVEZ ) 
  311 #    define DDS_FLAGS_VOLUME 0x00200000  
  344 #    define DDS_LUMINANCEA 0x00020001 // DDPF_LUMINANCE | DDPF_ALPHAPIXELS 
  354 #endif // INCLUDED_DDS_H 
const DDS_PIXELFORMAT DDSPF_DX10
DX10 Pixel format. 
Definition: dds.h:287
const DDS_PIXELFORMAT DDSPF_R8G8B8
R8G8B8 Pixel format. 
Definition: dds.h:282
const DDS_PIXELFORMAT DDSPF_DXT5
DXT5 Pixel format. 
Definition: dds.h:274
uint32_t DWORD
Type used in orignal DirectX dds.h file. 
Definition: dds.h:59
unsigned char BYTE
Type used in orignal DirectX dds.h file. 
Definition: dds.h:60
const DDS_PIXELFORMAT DDSPF_DXT3
DXT3 Pixel format. 
Definition: dds.h:270
const DDS_PIXELFORMAT DDSPF_A4R4G4B4
A4R4G4B4 Pixel format. 
Definition: dds.h:280
#define DDS_ALPHA
Definition: dds.h:264
#define DDS_RGB
Definition: dds.h:251
#define DDS_RGBA
Definition: dds.h:255
const DDS_PIXELFORMAT DDSPF_R5G6B5
R5G6B5 Pixel format. 
Definition: dds.h:284
uint32_t UINT
Type used in orignal DirectX dds.h file. 
Definition: dds.h:61
#define DDS_FOURCC
Definition: dds.h:247
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
Definition: dds.h:74
D3D10_RESOURCE_DIMENSION
Definition: dds.h:208
const DDS_PIXELFORMAT DDSPF_A1R5G5B5
A1R5G5B5 Pixel format. 
Definition: dds.h:278
const DDS_PIXELFORMAT DDSPF_DXT1
DXT1 Pixel format. 
Definition: dds.h:266
const DDS_PIXELFORMAT DDSPF_A8R8G8B8
A8R8G8B8 Pixel format. 
Definition: dds.h:276
const DDS_PIXELFORMAT DDSPF_DXT2
DXT2 Pixel format. 
Definition: dds.h:268
const DDS_PIXELFORMAT DDSPF_DXT4
DXT4 Pixel format. 
Definition: dds.h:272
enum _D3DFORMAT D3DFORMAT
_D3DFORMAT
Definition: dds.h:80