diff --git a/projects/first_mesh/src/main.cpp b/projects/first_mesh/src/main.cpp
index 58c56dbad802331ffe7b3c42f172633f06c96837..606a29ac7d70a2219c316cad199b1bf08d06653b 100644
--- a/projects/first_mesh/src/main.cpp
+++ b/projects/first_mesh/src/main.cpp
@@ -18,6 +18,14 @@ int main(int argc, const char** argv) {
 	vkcv::CameraManager cameraManager(window, window.getWidth(), window.getHeight());
 
 	window.initEvents();
+    window.e_resize.add([&cameraManager](int width, int height) {
+        auto& camera = cameraManager.getCamera();
+        float near;
+        float far;
+        camera.getNearFar(near, far);
+        const float aspectRatio = static_cast<float>(width) / height;
+        camera.setPerspective(camera.getFov(), aspectRatio, near, far);
+    });
 
 	vkcv::Core core = vkcv::Core::create(
 		window,