From 440b292c39162284a447b34d3a692143af9fbc87 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Thu, 30 Oct 2025 17:21:22 -0700 Subject: - Replace SceneCamera with Camera. - Remove backpointer from scene types to node to decouple underlying types from the scene graph. --- src/render/llr.c | 3 --- src/render/llr_impl.h | 1 - src/render/renderer.c | 13 ++++++------- 3 files changed, 6 insertions(+), 11 deletions(-) (limited to 'src/render') diff --git a/src/render/llr.c b/src/render/llr.c index a1b37be..189041a 100644 --- a/src/render/llr.c +++ b/src/render/llr.c @@ -46,9 +46,6 @@ Light* gfx_make_light(const LightDesc* desc) { void gfx_destroy_light(Light** light) { assert(light); if (*light) { - if ((*light)->parent.val) { - gfx_del_node((*light)->parent); - } mem_free_light(light); } } diff --git a/src/render/llr_impl.h b/src/render/llr_impl.h index 319441c..1c08b03 100644 --- a/src/render/llr_impl.h +++ b/src/render/llr_impl.h @@ -34,7 +34,6 @@ typedef struct Light { union { EnvironmentLight environment; }; - node_idx parent; // Parent SceneNode. } Light; typedef struct Material { diff --git a/src/render/renderer.c b/src/render/renderer.c index eca7551..385a8c1 100644 --- a/src/render/renderer.c +++ b/src/render/renderer.c @@ -3,7 +3,6 @@ #include "llr_impl.h" #include "memory.h" #include "scene/animation_impl.h" -#include "scene/camera_impl.h" #include "scene/model_impl.h" #include "scene/node_impl.h" #include "scene/object_impl.h" @@ -192,9 +191,9 @@ void gfx_render_scene(Renderer* renderer, const RenderSceneParams* params) { ShaderProgram* const shader = load_shader(renderer, params->mode); - const Scene* scene = params->scene; - const SceneCamera* camera = params->camera; - GfxCore* const gfxcore = renderer->gfxcore; + const Scene* scene = params->scene; + const Camera* camera = params->camera; + GfxCore* const gfxcore = renderer->gfxcore; int x, y, width, height; gfx_get_viewport(gfxcore, &x, &y, &width, &height); @@ -207,12 +206,12 @@ void gfx_render_scene(Renderer* renderer, const RenderSceneParams* params) { .shader = shader, .scene = scene}; - gfx_llr_set_camera(renderer->llr, &camera->camera); + gfx_llr_set_camera(renderer->llr, camera); gfx_llr_set_aspect(renderer->llr, aspect); draw_recursively(&state, mat4_id(), scene->root); } -static void update_rec(SceneNode* node, const SceneCamera* camera, R t) { +static void update_rec(SceneNode* node, const Camera* camera, R t) { assert(node); assert(camera); @@ -237,7 +236,7 @@ static void update_rec(SceneNode* node, const SceneCamera* camera, R t) { } } -void gfx_update(Scene* scene, const SceneCamera* camera, R t) { +void gfx_update(Scene* scene, const Camera* camera, R t) { assert(scene); assert(camera); -- cgit v1.2.3