diff options
author | omniscient <17525998+omnisci3nce@users.noreply.github.com> | 2024-08-10 23:18:22 +1000 |
---|---|---|
committer | omniscient <17525998+omnisci3nce@users.noreply.github.com> | 2024-08-10 23:18:22 +1000 |
commit | ee1b7fd3bc66501b252ce9e3e5ba89ac9aa54632 (patch) | |
tree | 47b9b1916933d76bfcc327ad2f39370833bd3712 /src/ral/backends/opengl/backend_opengl.c | |
parent | 8dc076e714fad6ee6fb493360e094c4002b1584a (diff) |
more work on bindings and ral
Diffstat (limited to 'src/ral/backends/opengl/backend_opengl.c')
-rw-r--r-- | src/ral/backends/opengl/backend_opengl.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ral/backends/opengl/backend_opengl.c b/src/ral/backends/opengl/backend_opengl.c index f971568..6c1a301 100644 --- a/src/ral/backends/opengl/backend_opengl.c +++ b/src/ral/backends/opengl/backend_opengl.c @@ -416,6 +416,17 @@ void GPU_EncodeDrawIndexed(GPU_CmdEncoder* encoder, u64 index_count) { glDrawElements(GL_TRIANGLES, index_count, GL_UNSIGNED_INT, 0); } +PUB void GPU_WriteTextureRegion(GPU_CmdEncoder* encoder, TextureHandle dst, u32 x_offset, + u32 y_offset, u32 width, u32 height, const void* data) { + CASSERT_MSG(data, "const void* data must not be NULL"); + + GPU_Texture* tex = TEXTURE_GET(dst); + + glBindTexture(GL_TEXTURE_2D, tex->id); + glTexSubImage2D(GL_TEXTURE_2D, 0, x_offset, y_offset, width, height, GL_RGBA, GL_UNSIGNED_BYTE, + data); +} + bool GPU_Backend_BeginFrame() { glViewport(0, 0, context.swapchain.dimensions.x * 2, context.swapchain.dimensions.y * 2); glClearColor(0.8f, 0.8f, 0.8f, 1.0f); |