summaryrefslogtreecommitdiff
path: root/src/extend/mesh.h
blob: 6e58a9da62ad720611e0f5994a1c33fde6e51e45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef _SOFTSHADEROOM_MESH_H_
#define _SOFTSHADEROOM_MESH_H_

#include "../core/vert.h"

typedef struct  {
	uint* triangles; // indices of vertex
	uint tris_count;
	char name[32];
} SubMesh;

typedef struct {
	Vertex* vertices; 
	uint vert_count;
	// map to first submesh 
	uint* triangles;
	uint tris_count;
	char name[32];
	// submeshs
	SubMesh* submesh;
	uint submesh_count; 
} Mesh;

Mesh* mesh_loadfromobj(const char* path);

void free_mesh(Mesh* mesh);

#endif