diff --git a/modules/camera/include/vkcv/camera/CameraManager.hpp b/modules/camera/include/vkcv/camera/CameraManager.hpp
index 69c4b311a561b9f3ce27e3d9906d68f21e2334ac..0c5041795ece9cd84e740a04c0d64e4964d0f4c8 100644
--- a/modules/camera/include/vkcv/camera/CameraManager.hpp
+++ b/modules/camera/include/vkcv/camera/CameraManager.hpp
@@ -105,10 +105,8 @@ namespace vkcv::camera {
         /**
          * @brief The constructor of the #CameraManager.
          * @param[in] window The window.
-         * @param[in] width The width of the window.
-         * @param[in] height The height of the window.
          */
-        CameraManager(Window &window, float width, float height);
+        CameraManager(Window &window);
 
         /**
          * @brief The destructor of the #CameraManager. Destroying the #CameraManager leads to deletion of all stored
diff --git a/modules/camera/src/vkcv/camera/CameraManager.cpp b/modules/camera/src/vkcv/camera/CameraManager.cpp
index 977c61d03dac51598281262acf9609540063a9e4..561596c25a66334b56b3253b998c8c63428ef121 100644
--- a/modules/camera/src/vkcv/camera/CameraManager.cpp
+++ b/modules/camera/src/vkcv/camera/CameraManager.cpp
@@ -5,7 +5,7 @@
 
 namespace vkcv::camera {
 
-    CameraManager::CameraManager(Window &window, float width, float height)
+    CameraManager::CameraManager(Window& window)
     : m_window(window)
     {
         bindCameraToEvents();
@@ -82,8 +82,10 @@ namespace vkcv::camera {
     }
 	
 	uint32_t CameraManager::addCamera(ControllerType controllerType) {
+    	const float ratio = static_cast<float>(m_window.getWidth()) / static_cast<float>(m_window.getHeight());
+    	
         Camera camera;
-        camera.setPerspective(glm::radians(60.0f), m_window.getWidth() / m_window.getHeight(), 0.1f, 10.0f);
+        camera.setPerspective(glm::radians(60.0f), ratio, 0.1f, 10.0f);
         return addCamera(controllerType, camera);
     }
     
diff --git a/projects/cmd_sync_test/src/main.cpp b/projects/cmd_sync_test/src/main.cpp
index a02c4542c7608e520e5ed33e746b5a9c836fc09f..3c2ab00da65a2f2f06007e63a43395a60ff1dff5 100644
--- a/projects/cmd_sync_test/src/main.cpp
+++ b/projects/cmd_sync_test/src/main.cpp
@@ -18,7 +18,7 @@ int main(int argc, const char** argv) {
 		true
 	);
 
-    vkcv::camera::CameraManager cameraManager(window, windowWidth, windowHeight);
+    vkcv::camera::CameraManager cameraManager(window);
     uint32_t camIndex = cameraManager.addCamera(vkcv::camera::ControllerType::PILOT);
     uint32_t camIndex2 = cameraManager.addCamera(vkcv::camera::ControllerType::TRACKBALL);
     
diff --git a/projects/first_mesh/src/main.cpp b/projects/first_mesh/src/main.cpp
index 42b1f595dc9f36f8cfb9816a1508980aefb52a83..b01ed4a272513ca8fdee089565b833b1e6f08207 100644
--- a/projects/first_mesh/src/main.cpp
+++ b/projects/first_mesh/src/main.cpp
@@ -146,7 +146,7 @@ int main(int argc, const char** argv) {
 	vkcv::DescriptorSetUsage    descriptorUsage(0, core.getDescriptorSet(descriptorSet).vulkanHandle);
 	vkcv::DrawcallInfo          drawcall(renderMesh, { descriptorUsage });
 
-    vkcv::camera::CameraManager cameraManager(window, windowWidth, windowHeight);
+    vkcv::camera::CameraManager cameraManager(window);
     uint32_t camIndex0 = cameraManager.addCamera(vkcv::camera::ControllerType::PILOT);
 	uint32_t camIndex1 = cameraManager.addCamera(vkcv::camera::ControllerType::TRACKBALL);
 	
diff --git a/projects/first_triangle/src/main.cpp b/projects/first_triangle/src/main.cpp
index dcb53c94d76ed79761201e97ab3fa5cde9c14b4c..ffb07bf71d72da79e59d42371ccc479f22f37800 100644
--- a/projects/first_triangle/src/main.cpp
+++ b/projects/first_triangle/src/main.cpp
@@ -169,7 +169,7 @@ int main(int argc, const char** argv) {
 
 	const vkcv::ImageHandle swapchainInput = vkcv::ImageHandle::createSwapchainImageHandle();
 	
-    vkcv::camera::CameraManager cameraManager(window, windowWidth, windowHeight);
+    vkcv::camera::CameraManager cameraManager(window);
     uint32_t camIndex = cameraManager.addCamera(vkcv::camera::ControllerType::PILOT);
     uint32_t camIndex2 = cameraManager.addCamera(vkcv::camera::ControllerType::TRACKBALL);