From 0cf86ec626d6676a2f886a7339ff3a037f0da454 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Thu, 16 Dec 2021 08:37:24 -0500 Subject: [PATCH] move getShader functions to shader interface --- src/main.cpp | 26 -------------------------- src/shader.cpp | 26 ++++++++++++++++++++++++++ src/shader.h | 2 ++ 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4f5518c..8e513e1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -68,32 +68,6 @@ initCubeMesh() return m; } -shader_program* -getShaderByName(const char* name, GLContext* gl_ctx) -{ - u64 hash = utilFNV64a_str(name); - - for (u32 i = 0; i < gl_ctx->num_shaders; i++) { - if (utilFNV64a_str(gl_ctx->shaders[i].name) == hash) - return &gl_ctx->shaders[i]; - } - - printf("%s(), shader not found, %s\n", __FUNCTION__, name); - return nullptr; -} - -shader_program* -getShaderByID(GLContext* gl_ctx, GLuint prog_id) -{ - for (u32 i = 0; i < gl_ctx->num_shaders; i++) { - if (gl_ctx->shaders[i].prog_id) - return &gl_ctx->shaders[i]; - } - - printf("%s(), shader not found, %d\n", __FUNCTION__, prog_id); - return nullptr; -} - // NOTE: equivalent to rgAppend() in libTangerine model* getModel(RenderState* rs, const char* filepath) diff --git a/src/shader.cpp b/src/shader.cpp index 03a7785..2174fc8 100644 --- a/src/shader.cpp +++ b/src/shader.cpp @@ -107,6 +107,32 @@ addShaderProgram(memory_arena* arena, return false; } +shader_program* +getShaderByName(const char* name, GLContext* gl_ctx) +{ + u64 hash = utilFNV64a_str(name); + + for (u32 i = 0; i < gl_ctx->num_shaders; i++) { + if (utilFNV64a_str(gl_ctx->shaders[i].name) == hash) + return &gl_ctx->shaders[i]; + } + + printf("%s(), shader not found, %s\n", __FUNCTION__, name); + return nullptr; +} + +shader_program* +getShaderByID(GLContext* gl_ctx, GLuint prog_id) +{ + for (u32 i = 0; i < gl_ctx->num_shaders; i++) { + if (gl_ctx->shaders[i].prog_id) + return &gl_ctx->shaders[i]; + } + + printf("%s(), shader not found, %d\n", __FUNCTION__, prog_id); + return nullptr; +} + void renderVAO(GLmesh* glmesh) { diff --git a/src/shader.h b/src/shader.h index b93c014..799dfd8 100644 --- a/src/shader.h +++ b/src/shader.h @@ -137,6 +137,8 @@ bool addShaderProgram(memory_arena* arena, const char* vs, const char* fs, const char* name); +shader_program* getShaderByName(const char* name, GLContext* gl_ctx); +shader_program* getShaderByID(GLContext* gl_ctx, GLuint prog_id); void renderVAO(GLmesh* glmesh); GLmesh loadGLMesh(shader_program* s, const mesh& m,