From 8536bcc71498c9109ef4254760edc4cd70ddcccd Mon Sep 17 00:00:00 2001 From: Fabrice Date: Wed, 11 Feb 2026 23:26:31 +0100 Subject: working on vao --- src/rendering.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/rendering.h') diff --git a/src/rendering.h b/src/rendering.h index f8db68e..145fe60 100644 --- a/src/rendering.h +++ b/src/rendering.h @@ -79,3 +79,35 @@ struct atlas_packer_s { bool wayc_atlas_packer_allocate(struct atlas_packer_s* packer, u32 width, u32 height, ivec2 out); + +typedef u32 vbo_t; + +bool wayc_vbo_init(vbo_t* vbo, usize size); +bool wayc_vbo_upload(vbo_t vbo, usize offset, usize size, const u8* data); +void wayc_vbo_use(vbo_t vbo); +void wayc_vbo_deinit(vbo_t* vbo); + +typedef u32 ebo_t; + +bool wayc_ebo_init(ebo_t* ebo, usize size); +bool wayc_ebo_upload(ebo_t ebo, usize offset, usize size, const u8* data); +void wayc_ebo_use(ebo_t ebo); +void wayc_ebo_deinit(ebo_t* ebo); + +typedef u32 vao_t; + +enum vao_attr_type_e { + VAO_ATTR_TYPE_FLOAT = GL_FLOAT, +}; + +struct vao_attr_s { + u32 size; + vao_attr_type_e type; + bool normalized; + u32 offset; +}; + +bool wayc_vao_init(vao_t* vao, vbo_t vbo, ebo_t ebo, const vao_attr_s* attrs, + u32 attr_count); +void wayc_vao_use(vao_t vao); +void wayc_vao_deinit(vao_t* vao); -- cgit v1.2.3