diff --git a/openVulkanoCpp/Controller/FreeCamCameraController.cpp b/openVulkanoCpp/Controller/FreeCamCameraController.cpp index 20f95c1..fae64e9 100644 --- a/openVulkanoCpp/Controller/FreeCamCameraController.cpp +++ b/openVulkanoCpp/Controller/FreeCamCameraController.cpp @@ -51,6 +51,16 @@ namespace OpenVulkano CURRENT_FRAME.needsRedraw = true; } + void FreeCamCameraController::SetActive() + { + if (!GetCamera()) return; + Math::Vector3f viewDir = Math::Utils::normalize(GetCamera()->GetViewDirection()); + + m_position = GetCamera()->GetPosition(); + m_pitch = Math::Utils::asin(viewDir.y); + m_yaw = Math::Utils::atan(-viewDir.x, -viewDir.z); + } + void FreeCamCameraController::SetDefaultKeybindings() { m_actionForward->BindKey(Input::InputKey::Controller::AXIS_LEFT_Y); diff --git a/openVulkanoCpp/Controller/FreeCamCameraController.hpp b/openVulkanoCpp/Controller/FreeCamCameraController.hpp index 2fc33ba..2665620 100644 --- a/openVulkanoCpp/Controller/FreeCamCameraController.hpp +++ b/openVulkanoCpp/Controller/FreeCamCameraController.hpp @@ -46,5 +46,7 @@ namespace OpenVulkano void Tick() override; void SetDefaultKeybindings(); + + void SetActive() override; }; } \ No newline at end of file