From 2e13525b020cee3b5537fa9784665ec5f206beb3 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 12 Jul 2025 11:03:39 -0700 Subject: Set mesh shader. Revisit this to give the client flexibility over which shader to use --- src/llr/llr.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/llr/llr.c b/src/llr/llr.c index 664c9a4..fe02c0d 100644 --- a/src/llr/llr.c +++ b/src/llr/llr.c @@ -215,6 +215,10 @@ static void configure_state(LLR* renderer) { // TODO: At present, this results in many redundant calls to // glGetUniformLocation() and glUniformXyz(). Look at the trace. // + // TODO: Could add to qapitrace functionality to detect redundant calls and + // other inefficiencies. Maybe ask in the Github first if there would be + // interest in this. + // // Must be called after activating the program. gfx_apply_uniforms(renderer->shader); } @@ -343,12 +347,13 @@ void gfx_llr_render_geometry(LLR* renderer, const Geometry* geometry) { void gfx_llr_render_mesh(LLR* renderer, const Mesh* mesh) { assert(renderer); - assert(renderer->shader); assert(mesh); assert(mesh->geometry); assert(mesh->material); + assert(mesh->shader); gfx_llr_set_material(renderer, mesh->material); + gfx_llr_set_shader(renderer, mesh->shader); gfx_llr_render_geometry(renderer, mesh->geometry); } -- cgit v1.2.3