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);