1 module des.assimp.mesh;
2 
3 public import des.math.linear;
4 
5 ///
6 struct SMTexCoord
7 {
8     /// count of components
9     uint comp;
10     ///
11     float[] data;
12 }
13 
14 ///
15 struct SMMesh
16 {
17     ///
18     enum Type
19     {
20         POINTS,
21         LINES,
22         LINE_STRIP,
23         TRIANGLES,
24         TRIANGLE_STRIP
25     }
26 
27     Type type = Type.TRIANGLES;
28 
29     ///
30     string name;
31 
32     ///
33     uint[] indices;
34 
35     ///
36     vec3[] vertices;
37     ///
38     SMTexCoord[] texcoords;
39     ///
40     vec3[] normals;
41     ///
42     vec3[] tangents;
43     ///
44     vec3[] bitangents;
45     ///
46     vec4[][] colors;
47 }
48 
49 ///
50 interface SMMeshGenerator
51 {
52     ///
53     SMMesh getMesh( string name );
54 }