summaryrefslogtreecommitdiff
path: root/prge_model.h
blob: d747232d4ecc06c1b74a4a741fbb23ec18785d48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef PRGE_MODEL_H
#define PRGE_MODEL_H

#define MAX_TEXTURE	5

Vertex	vert_init(V3 pos, V2 texc);

Mesh	*mesh_init(Arena *arena, V3 origin, V3 rotate, Vertex *verts, U32 nverts, U32 *indices, U32 nindices);
void	mesh_add_texture(Mesh *mesh, Texture texture);
Mesh	*mesh_gen_quad(Arena *arena, V3 origin, V3 rotate, F32 w, F32 h);
Mesh	*mesh_gen_circle(Arena *arena, V3 origin, V3 rotate, F32 r, U32 nverts);
void	mesh_draw(Mesh *mesh);

Model	*model_init(Arena *arena, V3 origin, V3 rotate, Mesh *meshes, U32 nmeshes);
Model	*model_load(Arena *arena, V3 origin, V3 rotate, Str8 filename);
void	model_draw(U32 shader, MAT4 *proj, MAT4 *view, Model *model);

#endif /* PRGE_MODEL_H */