diff options
author | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
commit | bd57f345ed9dbed1d81683e48199626de2ea9044 (patch) | |
tree | 4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /src/scene/mesh.c | |
parent | 9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff) |
Diffstat (limited to 'src/scene/mesh.c')
-rw-r--r-- | src/scene/mesh.c | 24 |
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 | |||
7 | static 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 | |||
18 | Mesh* gfx_make_mesh(const MeshDesc* desc) { | ||
19 | Mesh* mesh = mem_alloc_mesh(); | ||
20 | mesh_make(mesh, desc); | ||
21 | return mesh; | ||
22 | } | ||
23 | |||
24 | void gfx_destroy_mesh(Mesh** mesh) { mem_free_mesh(mesh); } | ||