diff options
| author | Freya Murphy <freya@freyacat.org> | 2025-12-04 13:16:21 -0500 |
|---|---|---|
| committer | Freya Murphy <freya@freyacat.org> | 2025-12-04 13:18:33 -0500 |
| commit | ba2f810f0752bdecf8253b34bd245c7939f23534 (patch) | |
| tree | 23a5fa60afb7f9f5d0ff1b51d11bb8dd24f46e04 /src/mesh.h | |
| download | voxel-ba2f810f0752bdecf8253b34bd245c7939f23534.tar.gz voxel-ba2f810f0752bdecf8253b34bd245c7939f23534.tar.bz2 voxel-ba2f810f0752bdecf8253b34bd245c7939f23534.zip | |
initial chunk rendering
Diffstat (limited to 'src/mesh.h')
| -rw-r--r-- | src/mesh.h | 23 |
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); |