diff options
| author | onelin <oscar@nelin.dk> | 2026-02-18 22:29:26 +0000 |
|---|---|---|
| committer | onelin <oscar@nelin.dk> | 2026-02-18 22:29:26 +0000 |
| commit | e5548ded0725bcfb5a5af1a1e7650cd15d9b0934 (patch) | |
| tree | 931c8166914b5c44d50f6fd59a95a6a1014a9581 /src/window.c | |
| parent | a485ea2dfad91b7ef171094b82cdb62020839b0a (diff) | |
Iterate camera-reset in seperate loop
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 11 |
1 files changed, 8 insertions, 3 deletions
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; } } |
