8 #include <linmath.h/linmath.h>
9 #include <dragontype/array.h>
10 #include <dragontype/number.h>
11 #include "client/mesh.h"
12 #include "client/texture.h"
13 #include "client/vertex.h"
17 } __attribute__((packed)) Vertex3DPosition;
21 } __attribute__((packed)) Vertex3DNormal;
23 typedef GLfloat Vertex3DTextureIndex;
27 } __attribute__((packed)) Vertex3DTextureCoordinates;
31 } __attribute__((packed)) Vertex3DColor;
35 Vertex3DPosition position;
36 Vertex3DNormal normal;
37 Vertex3DTextureIndex textureIndex;
38 Vertex3DTextureCoordinates textureCoordinates;
40 } __attribute__((packed)) Vertex3D;
50 v3f32 pos, rot, scale;
60 ObjectFace *current_face;
64 Object *object_create();
65 void object_delete(Object *obj);
66 void object_set_texture(Object *obj, Texture *texture);
67 void object_add_vertex(Object *obj, Vertex3D *vertex);
68 bool object_add_to_scene(Object *obj);
69 void object_transform(Object *obj);
70 void object_render(Object *obj, mat4x4 view_proj, GLint loc_MVP);