diff options
| author | 3gg <3gg@shellblade.net> | 2025-10-30 17:21:22 -0700 | 
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-10-30 17:21:25 -0700 | 
| commit | 440b292c39162284a447b34d3a692143af9fbc87 (patch) | |
| tree | b5f0adf047651a56eb74ba7b92fdf6ebe2bbc635 /src/render | |
| parent | 643382dfd364a193686201e1c82b6fe7f351f068 (diff) | |
- Replace SceneCamera with Camera.
- Remove backpointer from scene types to node to decouple underlying types from the scene graph.
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/llr.c | 3 | ||||
| -rw-r--r-- | src/render/llr_impl.h | 1 | ||||
| -rw-r--r-- | src/render/renderer.c | 13 | 
3 files changed, 6 insertions, 11 deletions
| 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) { | |||
| 46 | void gfx_destroy_light(Light** light) { | 46 | void gfx_destroy_light(Light** light) { | 
| 47 | assert(light); | 47 | assert(light); | 
| 48 | if (*light) { | 48 | if (*light) { | 
| 49 | if ((*light)->parent.val) { | ||
| 50 | gfx_del_node((*light)->parent); | ||
| 51 | } | ||
| 52 | mem_free_light(light); | 49 | mem_free_light(light); | 
| 53 | } | 50 | } | 
| 54 | } | 51 | } | 
| 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 { | |||
| 34 | union { | 34 | union { | 
| 35 | EnvironmentLight environment; | 35 | EnvironmentLight environment; | 
| 36 | }; | 36 | }; | 
| 37 | node_idx parent; // Parent SceneNode. | ||
| 38 | } Light; | 37 | } Light; | 
| 39 | 38 | ||
| 40 | typedef struct Material { | 39 | 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 @@ | |||
| 3 | #include "llr_impl.h" | 3 | #include "llr_impl.h" | 
| 4 | #include "memory.h" | 4 | #include "memory.h" | 
| 5 | #include "scene/animation_impl.h" | 5 | #include "scene/animation_impl.h" | 
| 6 | #include "scene/camera_impl.h" | ||
| 7 | #include "scene/model_impl.h" | 6 | #include "scene/model_impl.h" | 
| 8 | #include "scene/node_impl.h" | 7 | #include "scene/node_impl.h" | 
| 9 | #include "scene/object_impl.h" | 8 | #include "scene/object_impl.h" | 
| @@ -192,9 +191,9 @@ void gfx_render_scene(Renderer* renderer, const RenderSceneParams* params) { | |||
| 192 | 191 | ||
| 193 | ShaderProgram* const shader = load_shader(renderer, params->mode); | 192 | ShaderProgram* const shader = load_shader(renderer, params->mode); | 
| 194 | 193 | ||
| 195 | const Scene* scene = params->scene; | 194 | const Scene* scene = params->scene; | 
| 196 | const SceneCamera* camera = params->camera; | 195 | const Camera* camera = params->camera; | 
| 197 | GfxCore* const gfxcore = renderer->gfxcore; | 196 | GfxCore* const gfxcore = renderer->gfxcore; | 
| 198 | 197 | ||
| 199 | int x, y, width, height; | 198 | int x, y, width, height; | 
| 200 | gfx_get_viewport(gfxcore, &x, &y, &width, &height); | 199 | gfx_get_viewport(gfxcore, &x, &y, &width, &height); | 
| @@ -207,12 +206,12 @@ void gfx_render_scene(Renderer* renderer, const RenderSceneParams* params) { | |||
| 207 | .shader = shader, | 206 | .shader = shader, | 
| 208 | .scene = scene}; | 207 | .scene = scene}; | 
| 209 | 208 | ||
| 210 | gfx_llr_set_camera(renderer->llr, &camera->camera); | 209 | gfx_llr_set_camera(renderer->llr, camera); | 
| 211 | gfx_llr_set_aspect(renderer->llr, aspect); | 210 | gfx_llr_set_aspect(renderer->llr, aspect); | 
| 212 | draw_recursively(&state, mat4_id(), scene->root); | 211 | draw_recursively(&state, mat4_id(), scene->root); | 
| 213 | } | 212 | } | 
| 214 | 213 | ||
| 215 | static void update_rec(SceneNode* node, const SceneCamera* camera, R t) { | 214 | static void update_rec(SceneNode* node, const Camera* camera, R t) { | 
| 216 | assert(node); | 215 | assert(node); | 
| 217 | assert(camera); | 216 | assert(camera); | 
| 218 | 217 | ||
| @@ -237,7 +236,7 @@ static void update_rec(SceneNode* node, const SceneCamera* camera, R t) { | |||
| 237 | } | 236 | } | 
| 238 | } | 237 | } | 
| 239 | 238 | ||
| 240 | void gfx_update(Scene* scene, const SceneCamera* camera, R t) { | 239 | void gfx_update(Scene* scene, const Camera* camera, R t) { | 
| 241 | assert(scene); | 240 | assert(scene); | 
| 242 | assert(camera); | 241 | assert(camera); | 
| 243 | 242 | ||
