From 72607666a8d2f14808d55d7053274283e1320cf6 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Sat, 29 Jan 2022 09:05:53 -0500 Subject: [PATCH] add getFreeUBO helper function --- src/shader.cpp | 10 ++++++++++ src/shader.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/shader.cpp b/src/shader.cpp index 32ecaa4..026c17e 100644 --- a/src/shader.cpp +++ b/src/shader.cpp @@ -159,6 +159,16 @@ getShaderByID(GLContext* gl_ctx, GLuint prog_id) return nullptr; } +GLBuffer* +getFreeUBO(GLContext* gl_ctx) +{ + if (gl_ctx->num_ubos < gl_ctx->max_ubos) + return &gl_ctx->uniform_buffers[gl_ctx->num_ubos++]; + + LOGF(Error, "no free Uniform Buffer Objects\n"); + return nullptr; +} + GLTexture* getGLTexture(GLContext* gl_ctx, Texture* diffuse_img) { diff --git a/src/shader.h b/src/shader.h index 1c6f42f..63bcaae 100644 --- a/src/shader.h +++ b/src/shader.h @@ -186,6 +186,8 @@ ShaderProgram* getShaderByHash(GLContext* gl_ctx, u64 hash); ShaderProgram* getFreeShader(GLContext* gl_ctx); +GLBuffer* getFreeUBO(GLContext* gl_ctx); + GLTexture* getGLTexture(GLContext* gl_ctx, Texture* diffuse_img); void renderVAO(GLMesh* glmesh,