~hikiko/nux/arb-srgba-shader

« back to all changes in this revision

Viewing changes to NuxMesh/NMeshArchiver_ver_0_0_1.h

  • Committer: Neil Jagdish Patel
  • Date: 2010-09-02 03:28:11 UTC
  • Revision ID: neil.patel@canonical.com-20100902032811-i2m18tfb6pkasnvt
Remove Win EOL chars

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
 */
21
21
 
22
22
 
23
 
#ifndef NMESHARCHIVER_VER_0_0_1_H
24
 
#define NMESHARCHIVER_VER_0_0_1_H
25
 
 
26
 
NAMESPACE_BEGIN
27
 
class NMeshObject;
28
 
 
29
 
typedef enum
30
 
{
31
 
    MESHINDEX_UNKNOWN = 0,
32
 
    MESHINDEX_SHORT,
33
 
    MESHINDEX_INT,
34
 
    FORCE_MESHINDEXTYPE = 0x7fffffff
35
 
}  MeshIndexType;
36
 
 
37
 
typedef enum
38
 
{
39
 
    MESHBUFFER_UNKNOWN = 0,
40
 
    MESHBUFFER_INDEXBUFFER,
41
 
    MESHBUFFER_VERTEXBUFFER,
42
 
    FORCE_MESHBUFFER = 0x7fffffff
43
 
}  MeshBufferType;
44
 
 
45
 
typedef enum
46
 
{
47
 
    POLYGONTYPE_UNKNOWN = 0,
48
 
    POLYGONTYPE_TRIANGLE,
49
 
    POLYGONTYPE_TRIANGLESTRIP,
50
 
    POLYGONTYPE_TRIANGLEFAN,
51
 
    POLYGONTYPE_QUAD,
52
 
    POLYGONTYPE_QUADSTRIP,
53
 
    POLYGONTYPE_QUADFAN,
54
 
    POLYGONTYPE_LINE,
55
 
    POLYGONTYPE_LINESTRIP,
56
 
    POLYGONTYPE_POINT,
57
 
    FORCE_POLYGONTYPE = 0x7fffffff
58
 
}  MeshPolygonType;
59
 
 
60
 
typedef enum
61
 
{
62
 
    VERTEXATTRIB_UNKNOWN = 0,
63
 
    VERTEXATTRIB_FLOAT,
64
 
    VERTEXATTRIB_INT,
65
 
    VERTEXATTRIB_BYTE,
66
 
    VERTEXATTRIB_UBYTE,
67
 
    VERTEXATTRIB_BYTE_N,    // the byte component should be divided by 128.0 to get the normalized value in the range [-1.0, 1.0].
68
 
    VERTEXATTRIB_UBYTE_N,   // the byte component should be divided by 255.0 to get the normalized value in the range [-1.0, 1.0].
69
 
    VERTEXATTRIB_SHORT,
70
 
    VERTEXATTRIB_USHORT,
71
 
    VERTEXATTRIB_SHORT_N,    // the short component should be divided by 32767.0 to get the normalized value in the range [-1.0, 1.0].
72
 
    VERTEXATTRIB_USHORT_N,   // the short component should be divided by 65535.0 to get the normalized value in the range [0.0, 1.0].
73
 
    FORCE_VERTEXATTRIB = 0x7fffffff
74
 
}  VertexAttribType;
75
 
 
76
 
typedef enum
77
 
{
78
 
    VBSEMANTIC_UNKNOWN = 0,
79
 
    VBSEMANTIC_POSITION,
80
 
    VBSEMANTIC_NORMAL,
81
 
    VBSEMANTIC_COLOR0,
82
 
    VBSEMANTIC_COLOR1,
83
 
    VBSEMANTIC_TANGENT,
84
 
    VBSEMANTIC_BINORMAL,
85
 
    VBSEMANTIC_TEXCOORD0,
86
 
    VBSEMANTIC_TEXCOORD1,
87
 
    VBSEMANTIC_TEXCOORD2,
88
 
    VBSEMANTIC_TEXCOORD3,
89
 
    VBSEMANTIC_TEXCOORD4,
90
 
    VBSEMANTIC_TEXCOORD5,
91
 
    VBSEMANTIC_TEXCOORD6,
92
 
    VBSEMANTIC_TEXCOORD7,
93
 
    FORCE_VBSEMANTIC = 0x7fffffff
94
 
}  VertexBufferSemantic;
95
 
 
96
 
typedef struct
97
 
{
98
 
    nux::t_s64 FilePointer;
99
 
    NFileName Name;
100
 
    unsigned int Type;
101
 
    unsigned int Format;
102
 
    unsigned int Width;
103
 
    unsigned int Height;
104
 
    unsigned int Depth;
105
 
    unsigned int NumMipmap;
106
 
    unsigned int Size;
107
 
 
108
 
} MeshDataInfo_ver_0_0_1;
109
 
 
110
 
bool SaveMeshObject_ver_0_0_1(nux::NSerializer* FileStream, NMeshObject*);
111
 
NMeshObject* LoadMeshObject_ver_0_0_1(nux::NSerializer* FileStream, unsigned int Offset);
112
 
void MeshDataGetInfo_ver_0_0_1(nux::NSerializer* FileStream, MeshDataInfo_ver_0_0_1& TextureArchiveInfo);
113
 
 
114
 
NAMESPACE_END
115
 
 
116
 
#endif // NMESHARCHIVER_VER_0_0_1_H
 
23
#ifndef NMESHARCHIVER_VER_0_0_1_H
 
24
#define NMESHARCHIVER_VER_0_0_1_H
 
25
 
 
26
NAMESPACE_BEGIN
 
27
class NMeshObject;
 
28
 
 
29
typedef enum
 
30
{
 
31
    MESHINDEX_UNKNOWN = 0,
 
32
    MESHINDEX_SHORT,
 
33
    MESHINDEX_INT,
 
34
    FORCE_MESHINDEXTYPE = 0x7fffffff
 
35
}  MeshIndexType;
 
36
 
 
37
typedef enum
 
38
{
 
39
    MESHBUFFER_UNKNOWN = 0,
 
40
    MESHBUFFER_INDEXBUFFER,
 
41
    MESHBUFFER_VERTEXBUFFER,
 
42
    FORCE_MESHBUFFER = 0x7fffffff
 
43
}  MeshBufferType;
 
44
 
 
45
typedef enum
 
46
{
 
47
    POLYGONTYPE_UNKNOWN = 0,
 
48
    POLYGONTYPE_TRIANGLE,
 
49
    POLYGONTYPE_TRIANGLESTRIP,
 
50
    POLYGONTYPE_TRIANGLEFAN,
 
51
    POLYGONTYPE_QUAD,
 
52
    POLYGONTYPE_QUADSTRIP,
 
53
    POLYGONTYPE_QUADFAN,
 
54
    POLYGONTYPE_LINE,
 
55
    POLYGONTYPE_LINESTRIP,
 
56
    POLYGONTYPE_POINT,
 
57
    FORCE_POLYGONTYPE = 0x7fffffff
 
58
}  MeshPolygonType;
 
59
 
 
60
typedef enum
 
61
{
 
62
    VERTEXATTRIB_UNKNOWN = 0,
 
63
    VERTEXATTRIB_FLOAT,
 
64
    VERTEXATTRIB_INT,
 
65
    VERTEXATTRIB_BYTE,
 
66
    VERTEXATTRIB_UBYTE,
 
67
    VERTEXATTRIB_BYTE_N,    // the byte component should be divided by 128.0 to get the normalized value in the range [-1.0, 1.0].
 
68
    VERTEXATTRIB_UBYTE_N,   // the byte component should be divided by 255.0 to get the normalized value in the range [-1.0, 1.0].
 
69
    VERTEXATTRIB_SHORT,
 
70
    VERTEXATTRIB_USHORT,
 
71
    VERTEXATTRIB_SHORT_N,    // the short component should be divided by 32767.0 to get the normalized value in the range [-1.0, 1.0].
 
72
    VERTEXATTRIB_USHORT_N,   // the short component should be divided by 65535.0 to get the normalized value in the range [0.0, 1.0].
 
73
    FORCE_VERTEXATTRIB = 0x7fffffff
 
74
}  VertexAttribType;
 
75
 
 
76
typedef enum
 
77
{
 
78
    VBSEMANTIC_UNKNOWN = 0,
 
79
    VBSEMANTIC_POSITION,
 
80
    VBSEMANTIC_NORMAL,
 
81
    VBSEMANTIC_COLOR0,
 
82
    VBSEMANTIC_COLOR1,
 
83
    VBSEMANTIC_TANGENT,
 
84
    VBSEMANTIC_BINORMAL,
 
85
    VBSEMANTIC_TEXCOORD0,
 
86
    VBSEMANTIC_TEXCOORD1,
 
87
    VBSEMANTIC_TEXCOORD2,
 
88
    VBSEMANTIC_TEXCOORD3,
 
89
    VBSEMANTIC_TEXCOORD4,
 
90
    VBSEMANTIC_TEXCOORD5,
 
91
    VBSEMANTIC_TEXCOORD6,
 
92
    VBSEMANTIC_TEXCOORD7,
 
93
    FORCE_VBSEMANTIC = 0x7fffffff
 
94
}  VertexBufferSemantic;
 
95
 
 
96
typedef struct
 
97
{
 
98
    nux::t_s64 FilePointer;
 
99
    NFileName Name;
 
100
    unsigned int Type;
 
101
    unsigned int Format;
 
102
    unsigned int Width;
 
103
    unsigned int Height;
 
104
    unsigned int Depth;
 
105
    unsigned int NumMipmap;
 
106
    unsigned int Size;
 
107
 
 
108
} MeshDataInfo_ver_0_0_1;
 
109
 
 
110
bool SaveMeshObject_ver_0_0_1(nux::NSerializer* FileStream, NMeshObject*);
 
111
NMeshObject* LoadMeshObject_ver_0_0_1(nux::NSerializer* FileStream, unsigned int Offset);
 
112
void MeshDataGetInfo_ver_0_0_1(nux::NSerializer* FileStream, MeshDataInfo_ver_0_0_1& TextureArchiveInfo);
 
113
 
 
114
NAMESPACE_END
 
115
 
 
116
#endif // NMESHARCHIVER_VER_0_0_1_H