LibGame v0.4.0
The LG Game Engine - Copyright (C) 2024-2026 ETMSoftware
Loading...
Searching...
No Matches
lg_vbo.h
1/*
2 * LibGame - Copyright (C) Emmanuel Thomas-Maurin 2011-2026
3 * All rights reserved
4 */
5
6#ifndef LG_VBO_H
7#define LG_VBO_H
8
9#define LG_INVALID_BUF_OBJ_ID 500000
10
11// VBO = Vertex Buffer Object / IBO = Index Buffer Object / VAO = Vertex Array Object
12
13/*
14 * === VBO ===
15 */
16typedef struct {
17 unsigned int id;
18 unsigned int size;
19} LG_VBO;
20
21LG_VBO LG_VBO_new(const void *, unsigned int);
22
23int LG_VBO_set_data(LG_VBO *, const void *);
24
25void LG_VBO_free(LG_VBO *);
26
27void LG_VBO_bind(LG_VBO *);
28
29void LG_VBO_unbind();
30
31/*
32 * === IBO ===
33 */
34typedef struct {
35 unsigned int id;
36 unsigned int size;
37} LG_IBO;
38
39LG_IBO LG_IBO_new(const void *, unsigned int);
40
41int LG_IBO_set_data(LG_IBO *, const void *);
42
43void LG_IBO_free(LG_IBO *);
44
45void LG_IBO_bind(LG_IBO *);
46
47void LG_IBO_unbind();
48
49/*
50 * === VAO ===
51 */
52typedef struct {
53 unsigned int id;
54} LG_VAO;
55
57
58void LG_VAO_free(LG_VAO *);
59
60void LG_VAO_bind(LG_VAO *, zboolean);
61
62void LG_VAO_unbind();
63
64#endif /* LG_VBO_H */
void LG_IBO_bind(LG_IBO *ibo)
Definition lg_vbo.c:218
LG_VBO LG_VBO_new(const void *vertex_data, unsigned int size)
Definition lg_vbo.c:26
void LG_VBO_bind(LG_VBO *vbo)
Definition lg_vbo.c:105
LG_VAO LG_VAO_new()
Definition lg_vbo.c:253
void LG_VAO_bind(LG_VAO *vao, zboolean gl_checking)
Definition lg_vbo.c:323
int LG_IBO_set_data(LG_IBO *ibo, const void *vertex_indices)
Definition lg_vbo.c:177
LG_IBO LG_IBO_new(const void *vertex_indices, unsigned int size)
Definition lg_vbo.c:137
void LG_VBO_unbind()
Definition lg_vbo.c:120
void LG_IBO_free(LG_IBO *ibo)
Definition lg_vbo.c:203
void LG_VAO_free(LG_VAO *vao)
Definition lg_vbo.c:296
void LG_VBO_free(LG_VBO *vbo)
Definition lg_vbo.c:91
void LG_VAO_unbind()
Definition lg_vbo.c:344
void LG_IBO_unbind()
Definition lg_vbo.c:233
int LG_VBO_set_data(LG_VBO *vbo, const void *vertex_data)
Definition lg_vbo.c:66
Definition lg_vbo.h:34
Definition lg_vbo.h:52
Definition lg_vbo.h:16