aboutsummaryrefslogtreecommitdiff
path: root/08-august/src/renderer/shape.h
blob: 89425487389f27c1982cb8063058d1401297f2aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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_MakeSkyBox(float size);

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