diff options
Diffstat (limited to 'src')
| -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; } } |
