All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LookUpTableInfo.h
1 
2 #include "ChunkedFileFormat.h"
3 #include "AllVertexTypes.h"
4 #include "Types.h"
5 
6 namespace Eegeo
7 {
8  namespace IO
9  {
10  namespace ChunkedFileFormat
11  {
12  namespace QuantizedMeshSetChunkReader
13  {
14  struct ShortVector3
15  {
16  s16 x;
17  s16 y;
18  s16 z;
19  };
20 
21  struct ByteVector3
22  {
23  s8 x;
24  s8 y;
25  s8 z;
26  };
27 
29  {
30  u16 x;
31  u16 y;
32  u16 z;
33  };
34 
36  {
37  public:
38  LookUpTableInfo(const UShortVector3* pPositionsLUT,
39  const ByteVector3* pNormalsLUT,
40  const u32* pColoursLUT,
41 
42  size_t positionsLUTCount,
43  size_t normalsLUTCount,
44  size_t coloursLUTCount)
45  : m_pPositionsLUT(pPositionsLUT)
46  , m_pNormalsLUT(pNormalsLUT)
47  , m_pColoursLUT(pColoursLUT)
48  , m_positionsLUTCount(positionsLUTCount)
49  , m_normalsLUTCount(normalsLUTCount)
50  , m_coloursLUTCount(coloursLUTCount)
51  {}
52 
53  const UShortVector3* PositionsLUT() const { return m_pPositionsLUT; }
54  const ByteVector3* NormalsLUT() const { return m_pNormalsLUT; }
55  const u32* ColoursLUT() const { return m_pColoursLUT; }
56 
57  size_t PositionsLUTCount() const { return m_positionsLUTCount; }
58  size_t NormalsLUTCount() const { return m_normalsLUTCount; }
59  size_t ColoursLUTCount() const { return m_coloursLUTCount; }
60 
61 
62  private:
63  const UShortVector3* m_pPositionsLUT;
64  const ByteVector3* m_pNormalsLUT;
65  const u32* m_pColoursLUT;
66 
67  size_t m_positionsLUTCount;
68  size_t m_normalsLUTCount;
69  size_t m_coloursLUTCount;
70 
71  };
72  }
73  }
74  }
75 }