All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
DDSTypes.h
1 // Copyright (c) 2012-2015 eeGeo. All rights reserved.
2 
3 #pragma once
4 
5 #include "Types.h"
6 
7 namespace Eegeo
8 {
9  namespace Helpers
10  {
11  namespace DDS
12  {
14  {
15  u32 m_size;
16  u32 m_flags;
17  u32 m_fourCC;
18  u32 m_rgbBitCount;
19  u32 m_rBitMask;
20  u32 m_gBitMask;
21  u32 m_bBitMask;
22  u32 m_aBitMask;
23  };
24 
25  struct DDSHeader
26  {
27  u32 m_size;
28  u32 m_flags;
29  u32 m_height;
30  u32 m_width;
31  u32 m_pitchOrLinearSize;
32  u32 m_depth;
33  u32 m_mipMapCount;
34  u32 m_reserved1[11];
35  DDSPixelFormat m_pixelFormat;
36  u32 m_caps;
37  u32 m_caps2;
38  u32 m_caps3;
39  u32 m_caps4;
40  u32 m_reserved2;
41  };
42 
43  namespace DDSCaps2
44  {
45  enum Values
46  {
47  Cubemap = 0x200,
48  CubemapPositiveX = 0x400,
49  CubemapNegativeX = 0x800,
50  CubemapPositiveY = 0x1000,
51  CubemapNegativeY = 0x2000,
52  CubemapPositiveZ = 0x4000,
53  CubemapNegativeZ = 0x8000,
54  Volume = 0x200000
55  };
56  }
57  }
58  }
59 }
60 
61 #define Eegeo_MAKE_FOURCC(a, b, c, d) (((u32)a) | (((u32)b) << 8) | (((u32)c) << 16) | (((u32)d) << 24 ))