--- a/src/camera.c Sun Nov 16 22:00:13 2025 +0100 +++ b/src/camera.c Sun Nov 16 23:02:11 2025 +0100 @@ -45,7 +45,7 @@ asc_error("Illegal argument for asc_camera_init(): type = %d", args.type); } camera->viewport_update_func = args.viewport_update_func; - camera->projection_update_func = args.projection_update_func; + camera->update_func = args.update_func; camera->viewport_clear = args.viewport_clear; camera->clear_color = args.clear_color; } @@ -60,17 +60,7 @@ } void asc_camera_ortho_update_size(AscCamera *camera, asc_vec2u size) { + camera->viewport.size = size; asc_mat4f_ortho_update_size(camera->projection, (float)size.width, (float)size.height); } -void asc_camera_update_viewport(AscCamera *camera, asc_vec2u window_size) { - if (camera->viewport_update_func == NULL) { - // this assumes the viewport was initialized with zeros! - camera->viewport.size = window_size; - } else { - camera->viewport = camera->viewport_update_func(window_size); - } - if (camera->projection_update_func != NULL) { - camera->projection_update_func(camera, window_size); - } -}