summaryrefslogtreecommitdiff
path: root/src/mesh.h
blob: e15b22271e0bc0bf9f8f2d24e12996d759e69274 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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);