From 3fd868123a9dc850da55275a17d8e62e24ca2cb8 Mon Sep 17 00:00:00 2001 From: RIN <83033020+Mxple@users.noreply.github.com> Date: Wed, 13 Sep 2023 21:56:22 -0400 Subject: [PATCH 1/2] Implemented debug cursor --- src/engine/core/Application.cpp | 5 +++++ src/engine/guitools/EditorGUI.cpp | 12 +++++++++++- src/engine/guitools/EditorGUI.hpp | 3 ++- src/engine/rendering/PrimitiveRenderer.cpp | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/engine/core/Application.cpp b/src/engine/core/Application.cpp index 201352d..69cf29c 100644 --- a/src/engine/core/Application.cpp +++ b/src/engine/core/Application.cpp @@ -193,6 +193,11 @@ namespace lei3d m_Renderer.draw(SceneManager::ActiveScene(), *m_SceneView); Camera& sceneCamera = m_SceneView->ActiveCamera(SceneManager::ActiveScene()); + // Maybe enable this in debug mode only? + // if (m_UIActive) + // { + EditorGUI::renderDebugCursor(); + // } m_PrimitiveRenderer.drawAll(sceneCamera); } diff --git a/src/engine/guitools/EditorGUI.cpp b/src/engine/guitools/EditorGUI.cpp index 0c21560..194d1dc 100644 --- a/src/engine/guitools/EditorGUI.cpp +++ b/src/engine/guitools/EditorGUI.cpp @@ -89,4 +89,14 @@ namespace lei3d scene.ShowHeirarchyGUI(); } -} // namespace lei3d \ No newline at end of file + // SUPER JANKY AND SCUFFED! REDO AFTER 2D LINE RENDERING IS IMPLEMENTED + void EditorGUI::renderDebugCursor() + { + PrimitiveRenderer& lineRenderer = Application::GetPrimitiveRenderer(); + Camera& camera = Application::GetSceneCamera(); + glm::vec3 origin = camera.GetPosition() + camera.GetFront() * 10.f; + lineRenderer.pushLine(Application::GetSceneCamera(), origin, origin + glm::vec3{1,0,0}, glm::vec3{1,0,0}, .01); + lineRenderer.pushLine(Application::GetSceneCamera(), origin, origin + glm::vec3{0,1,0}, glm::vec3{0,1,0}, .01); + lineRenderer.pushLine(Application::GetSceneCamera(), origin, origin + glm::vec3{0,0,1}, glm::vec3{0,0,1}, .01); + } +} // namespace lei3d diff --git a/src/engine/guitools/EditorGUI.hpp b/src/engine/guitools/EditorGUI.hpp index ff90bf4..3c798ae 100644 --- a/src/engine/guitools/EditorGUI.hpp +++ b/src/engine/guitools/EditorGUI.hpp @@ -11,5 +11,6 @@ namespace lei3d public: void RenderUI(); // DON"T MAKE THIS CONST + static void renderDebugCursor(); }; -} // namespace lei3d \ No newline at end of file +} // namespace lei3d diff --git a/src/engine/rendering/PrimitiveRenderer.cpp b/src/engine/rendering/PrimitiveRenderer.cpp index 8f73f86..068c3df 100644 --- a/src/engine/rendering/PrimitiveRenderer.cpp +++ b/src/engine/rendering/PrimitiveRenderer.cpp @@ -81,4 +81,4 @@ namespace lei3d { return m_PrimitiveShader; } -} // namespace lei3d \ No newline at end of file +} // namespace lei3d From 8dbfa1f7898c67d1ab010e94439b3f15b0631f9f Mon Sep 17 00:00:00 2001 From: RIN <83033020+Mxple@users.noreply.github.com> Date: Wed, 13 Sep 2023 21:56:34 -0400 Subject: [PATCH 2/2] added fly camera position to imgui render --- src/engine/core/FlyCamera.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/engine/core/FlyCamera.cpp b/src/engine/core/FlyCamera.cpp index 5947939..7daaf2f 100644 --- a/src/engine/core/FlyCamera.cpp +++ b/src/engine/core/FlyCamera.cpp @@ -60,6 +60,9 @@ namespace lei3d { ImGui::SliderFloat("Camera Speed", &m_FlySpeed, MIN_FLY_SPEED, MAX_FLY_SPEED, "%.2f"); ImGui::Checkbox("Use 'Minecraft' Camera Controls: ", &m_UseMinecraftControls); + + glm::vec3 pos = this->GetPosition(); + ImGui::Text("x: %f, y: %f, z: %f", pos.x, pos.y, pos.z); } void FlyCamera::handleForward(float speed) @@ -109,4 +112,4 @@ namespace lei3d void FlyCamera::SetFlySpeed(float speed) { m_FlySpeed = speed; } -} // namespace lei3d \ No newline at end of file +} // namespace lei3d