From e5548ded0725bcfb5a5af1a1e7650cd15d9b0934 Mon Sep 17 00:00:00 2001 From: onelin Date: Wed, 18 Feb 2026 23:29:26 +0100 Subject: Iterate camera-reset in seperate loop --- src/window.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/window.c b/src/window.c index 6e5fe71..a968eea 100644 --- a/src/window.c +++ b/src/window.c @@ -112,12 +112,17 @@ void window_reset_cameras(Window* w, void* state, RenderTargets* restrict target &targets->buffer_parameters[b_ofst]); } + b_ofst += num_textures + num_renderbuffers; + } + + // Reset the cameras in a separate loop, this ensures all potential + // texture-names have been assigned, and can now be accessed through the + // camera-reset callback, in case some layers depend on others. + for (usize i = 0; i < targets->framebuffer_len; i++) { // Reset camera using callback (if any) if (targets->camera_reset_callback[i] != NULL) { - targets->camera_reset_callback[i](targets->cam[i], state, newsz); + targets->camera_reset_callback[i](targets->cam[i], state, targets->framebuffer_parameters[i].dimensions); } - - b_ofst += num_textures + num_renderbuffers; } } -- cgit v1.3