From b1c29c40fdc618ab250292f85d8132474fb8843e Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 24 Oct 2025 14:56:42 -0700 Subject: Fix Pong demo, add notes and TODOs --- src/llr/llr.c | 12 +++++++++++- src/llr/mesh_impl.h | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/llr') diff --git a/src/llr/llr.c b/src/llr/llr.c index fe02c0d..25cdf9f 100644 --- a/src/llr/llr.c +++ b/src/llr/llr.c @@ -204,7 +204,10 @@ static void configure_state(LLR* renderer) { if (renderer->material_changed || renderer->shader_changed) { renderer->material_changed = false; - gfx_material_activate(renderer->shader, renderer->material); + // Geometry may be rendered without a material. + if (renderer->material) { + gfx_material_activate(renderer->shader, renderer->material); + } } if (renderer->shader_changed) { @@ -330,6 +333,13 @@ void gfx_llr_set_camera(LLR* renderer, const Camera* camera) { renderer->camera_changed = true; } +void gfx_llr_set_projection_matrix(LLR* renderer, const mat4* projection) { + assert(renderer); + + renderer->projection = *projection; + renderer->camera_changed = true; +} + void gfx_llr_set_aspect(LLR* renderer, float aspect) { assert(renderer); diff --git a/src/llr/mesh_impl.h b/src/llr/mesh_impl.h index 96e60df..a997d5b 100644 --- a/src/llr/mesh_impl.h +++ b/src/llr/mesh_impl.h @@ -5,5 +5,5 @@ typedef struct Mesh { const Geometry* geometry; const Material* material; - ShaderProgram* shader; + ShaderProgram* shader; // TODO: Move this back to Material? } Mesh; -- cgit v1.2.3