summaryrefslogtreecommitdiff
path: root/src/mesh.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesh.h')
-rw-r--r--src/mesh.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mesh.h b/src/mesh.h
new file mode 100644
index 0000000..e15b222
--- /dev/null
+++ b/src/mesh.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <GL/gl.h>
+
+#define MAX_VBOS 4
+
+typedef struct {
+ GLuint vao;
+ GLuint vbos[MAX_VBOS];
+ int vbos_count;
+ int vertex_count;
+} Mesh;
+
+void mesh_init(Mesh *mesh, int vertex_count);
+void mesh_storef(Mesh *mesh, float *data, int data_len, int dimensions);
+void mesh_storei(Mesh *mesh, int *data, int data_len, int dimensions);
+void mesh_storeu(Mesh *mesh, unsigned int *data, int data_len, int dimensions);
+void mesh_storeb(Mesh *mesh, unsigned char *data, int data_len, int dimensions);
+void mesh_finish(void);
+void mesh_bind(Mesh *mesh);
+void mesh_unbind(Mesh *mesh);
+void mesh_draw(Mesh *mesh);
+void mesh_free(Mesh *mesh);