[nostalgia/core/userland] Move Vertex arrays and Buffers to GLobject

This commit is contained in:
2021-03-20 16:08:55 -05:00
parent 8d19f99fac
commit cc23947d27
3 changed files with 27 additions and 21 deletions
+12 -7
View File
@@ -90,19 +90,26 @@ struct GLobject: public Base {
};
void deleteTexture(GLuint t);
void deleteBuffer(GLuint b) noexcept;
void deleteTexture(GLuint t) noexcept;
void deleteVertexArray(GLuint v) noexcept;
extern template struct GLobject<deleteBuffer>;
extern template struct GLobject<deleteTexture, TextureBase>;
extern template struct GLobject<deleteVertexArray>;
extern template struct GLobject<glDeleteProgram>;
extern template struct GLobject<glDeleteShader>;
extern template struct GLobject<deleteTexture, TextureBase>;
using Buffer = GLobject<deleteBuffer>;
using Shader = GLobject<glDeleteShader>;
using Program = GLobject<glDeleteProgram>;
using Texture = GLobject<deleteTexture, TextureBase>;
using VertexArray = GLobject<deleteVertexArray>;
struct Bufferset {
GLuint vao = 0;
GLuint vbo = 0;
GLuint ebo = 0;
VertexArray vao;
Buffer vbo;
Buffer ebo;
Texture tex;
GLsizei eboElements = 0;
};
@@ -110,6 +117,4 @@ struct Bufferset {
[[nodiscard]]
ox::Result<Program> buildShaderProgram(const GLchar *vert, const GLchar *frag);
void destroy(const Bufferset &bufferset);
}