diff options
| author | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-11 23:32:44 +0100 |
|---|---|---|
| committer | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-11 23:32:44 +0100 |
| commit | 50a84a54e7cc2308ad87bd04e065151a61ffe513 (patch) | |
| tree | ce6d84acbd06ce6fff3cc00bfb4b8e45a8a40881 /src/rendering.cc | |
| parent | 97d4714a5078c0472350981f0ae02c58ee66eff9 (diff) | |
generalizing buffer
Diffstat (limited to 'src/rendering.cc')
| -rw-r--r-- | src/rendering.cc | 47 |
1 files changed, 13 insertions, 34 deletions
diff --git a/src/rendering.cc b/src/rendering.cc index e916d31..8127c13 100644 --- a/src/rendering.cc +++ b/src/rendering.cc @@ -155,50 +155,29 @@ bool wayc_atlas_packer_allocate(struct atlas_packer_s* packer, u32 width, return true; } -bool wayc_vbo_init(vbo_t* vbo, usize size) { - wayc_notnull(vbo); +bool wayc_buffer_init(buffer_t* buffer, usize size) { + wayc_notnull(buffer); - glCreateBuffers(1, vbo); - if (*vbo == 0) return false; + glCreateBuffers(1, buffer); + if (*buffer == 0) return false; - glNamedBufferStorage(*vbo, size, NULL, GL_DYNAMIC_STORAGE_BIT); + glNamedBufferStorage(*buffer, size, nullptr, GL_DYNAMIC_STORAGE_BIT); return true; } -bool wayc_vbo_upload(vbo_t vbo, usize offset, usize size, const u8* data) { +bool wayc_buffer_set(buffer_t buffer, usize offset, usize size, + const u8* data) { wayc_notnull(data); - glNamedBufferSubData(vbo, offset, size, data); // TODO: add error checking + glNamedBufferSubData(buffer, offset, size, data); // TODO: add error checking return true; } -void wayc_vbo_use(vbo_t vbo) { glBindBuffer(GL_ARRAY_BUFFER, vbo); } - -void wayc_vbo_deinit(vbo_t* vbo) { - wayc_notnull(vbo); - glDeleteBuffers(1, vbo); -} - -bool wayc_ebo_init(ebo_t* ebo, usize size) { - wayc_notnull(ebo); - - glCreateBuffers(1, ebo); - if (*ebo == 0) return false; - - glNamedBufferStorage(*ebo, size, NULL, GL_DYNAMIC_STORAGE_BIT); - return true; +void wayc_buffer_use(buffer_t buffer, buffer_type_e type) { + glBindBuffer(type, buffer); } -bool wayc_ebo_upload(ebo_t ebo, usize offset, usize size, const u8* data) { - wayc_notnull(data); - - glNamedBufferSubData(ebo, offset, size, data); - return true; -} - -void wayc_ebo_use(ebo_t ebo) { glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo); } - -void wayc_ebo_deinit(ebo_t* ebo) { - wayc_notnull(ebo); - glDeleteBuffers(1, ebo); +void wayc_buffer_deinit(buffer_t* buffer) { + wayc_notnull(buffer); + glDeleteBuffers(1, buffer); } |
