schroedinger-solver/src/renderer/buffer.h

34 lines
698 B
C
Raw Normal View History

2022-10-16 21:43:22 +00:00
#ifndef BUFFER_H
#define BUFFER_H
#include <stdint.h>
typedef struct VertexArrayObject
{
int vao;
int vbo;
int ebo;
size_t elements;
} VertexArrayObject;
typedef struct VertexAttribute
{
int type;
int count;
size_t size;
} VertexAttribute;
void create_vao(VertexArrayObject* vao);
void destroy_vao(VertexArrayObject vao);
void attach_vertex_buffer(VertexArrayObject* vao, const float* data, size_t size);
void attach_element_buffer(VertexArrayObject* vao, const unsigned* data, size_t size);
void set_vertex_layout(VertexArrayObject* vao, VertexAttribute* attributes, size_t count);
2022-10-18 16:43:15 +00:00
void bind_vao(VertexArrayObject* vao);
void render_vao(VertexArrayObject* vao);
2022-10-16 21:43:22 +00:00
#endif // BUFFER_H