aboutsummaryrefslogtreecommitdiff
path: root/src/scene/mesh.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/scene/mesh.c')
-rw-r--r--src/scene/mesh.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/scene/mesh.c b/src/scene/mesh.c
new file mode 100644
index 0000000..1a93bed
--- /dev/null
+++ b/src/scene/mesh.c
@@ -0,0 +1,24 @@
1#include "mesh_impl.h"
2
3#include "scene_memory.h"
4
5#include <assert.h>
6
7static void mesh_make(Mesh* mesh, const MeshDesc* desc) {
8 assert(mesh);
9 assert(desc);
10 assert(desc->geometry);
11 assert(desc->material);
12 assert(desc->shader);
13 mesh->geometry = desc->geometry;
14 mesh->material = desc->material;
15 mesh->shader = desc->shader;
16}
17
18Mesh* gfx_make_mesh(const MeshDesc* desc) {
19 Mesh* mesh = mem_alloc_mesh();
20 mesh_make(mesh, desc);
21 return mesh;
22}
23
24void gfx_destroy_mesh(Mesh** mesh) { mem_free_mesh(mesh); }