#ifndef GUARD_B3E8DB670A75ACCB1082192FB0485037
#define GUARD_B3E8DB670A75ACCB1082192FB0485037

#include "types.h"

struct sw_vertex_buffer {
	u32 elem_size;
	u32 elem_count;
	u32 elem_capacity;
	void *data;
};

struct sw_vertex_buffer *sw_vertex_buffer_create(u32 elem_size);
void sw_vertex_buffer_destroy(struct sw_vertex_buffer *vb);

/* copies elem data */
void sw_vertex_buffer_add(struct sw_vertex_buffer *vb, void *elem);
void sw_vertex_buffer_clear(struct sw_vertex_buffer *vb);

#endif /* GUARD_B3E8DB670A75ACCB1082192FB0485037 */
