aboutsummaryrefslogtreecommitdiff
path: root/src/scene/mesh.c
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-11-02 18:18:56 -0800
committer3gg <3gg@shellblade.net>2025-11-02 18:18:56 -0800
commit0dc3a9df980630b671bbc5df69503c2e72dcf004 (patch)
tree1b46c45ecf8842f8aa3d24c542f28719452f8a46 /src/scene/mesh.c
parent3e559ab467857e49941d08b91873ceaa6d1f9d8d (diff)
Consolidate scene data structures
Diffstat (limited to 'src/scene/mesh.c')
-rw-r--r--src/scene/mesh.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/scene/mesh.c b/src/scene/mesh.c
new file mode 100644
index 0000000..770c3fb
--- /dev/null
+++ b/src/scene/mesh.c
@@ -0,0 +1,26 @@
1#include "mesh_impl.h"
2
3#include <gfx/scene.h>
4
5#include "memory.h"
6
7#include <cassert.h>
8
9static void mesh_make(Mesh* mesh, const MeshDesc* desc) {
10 assert(mesh);
11 assert(desc);
12 assert(desc->geometry);
13 assert(desc->material);
14 assert(desc->shader);
15 mesh->geometry = desc->geometry;
16 mesh->material = desc->material;
17 mesh->shader = desc->shader;
18}
19
20Mesh* gfx_make_mesh(const MeshDesc* desc) {
21 Mesh* mesh = mem_alloc_mesh();
22 mesh_make(mesh, desc);
23 return mesh;
24}
25
26void gfx_destroy_mesh(Mesh** mesh) { mem_free_mesh(mesh); }