src/camera.c

changeset 262
b47de42f4598
parent 256
60014484121c
--- a/src/camera.c	Sat Aug 09 14:36:39 2025 +0200
+++ b/src/camera.c	Tue Aug 12 21:04:59 2025 +0200
@@ -62,3 +62,15 @@
 void asc_camera_ortho_update_size(AscCamera *camera, asc_vec2u 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);
+    }
+}

mercurial