aboutsummaryrefslogtreecommitdiff
#ifndef SHAPE_H
#define SHAPE_H

#include "../vertex.h"

typedef struct
{
    GLuint num_indices;
    GLuint vbo, ebo, vao;
} shape_t;

extern shape_t* Shape_MakeCube();
extern shape_t* Shape_MakeArrow();
extern shape_t* Shape_MakeQuad();

extern shape_t* Shape_LoadOBJ(const char* path);

extern shape_t* Shape_CreateFromRawData(vertex_t* vertices, GLsizeiptr vertexBufferSize,
                                    GLushort* indices, GLsizeiptr indexBufferSize);

extern void Shape_Free(shape_t* shape);



#endif // SHAPE_H