1#include "Misc/ExplorerControls.h"
3#include "Base/Application.h"
8static float cpos[3], crot[3];
10static glm::vec2 mosePos(0.0f);
12void SetupExplorerControls()
15 glfwGetCursorPos(Application::Get()->GetWindow()->GetNativeWindow(), &x, &y);
20void UpdateExplorerControls(
float *pos,
float *rot,
bool isIEx,
float *xO,
float *yO)
23 glfwGetCursorPos(Application::Get()->GetWindow()->GetNativeWindow(), &x, &y);
24 float dX = (float)x - mosePos.x;
25 float dY = (
float)y - mosePos.y;
30 static float movementSpeed = 0.001f;
32 if (glfwGetKey(Application::Get()->GetWindow()->GetNativeWindow(), GLFW_KEY_W))
34 glm::vec3 pPos = glm::vec3(pos[0], pos[1], pos[2]);
35 float dist = pPos.y * pPos.y+ 10;
36 pPos += glm::vec3(0.0f, 0.0f, -1.0f) * dist * movementSpeed;
42 if (glfwGetKey(Application::Get()->GetWindow()->GetNativeWindow(), GLFW_KEY_S))
44 glm::vec3 pPos = glm::vec3(pos[0], pos[1], pos[2]);
45 float dist = pPos.y * pPos.y+ 10;
46 pPos -= glm::vec3(0.0f, 0.0f, -1.0f) * dist * movementSpeed;
52 if (glfwGetKey(Application::Get()->GetWindow()->GetNativeWindow(), GLFW_KEY_A))
54 glm::vec3 pPos = glm::vec3(pos[0], pos[1], pos[2]);
55 float dist = pPos.y * pPos.y+ 10;
56 pPos -= glm::vec3(1.0f, 0.0f, 0.0f) * dist * movementSpeed;
62 if (glfwGetKey(Application::Get()->GetWindow()->GetNativeWindow(), GLFW_KEY_D))
64 glm::vec3 pPos = glm::vec3(pos[0], pos[1], pos[2]);
65 float dist = pPos.y * pPos.y+ 10;
66 pPos += glm::vec3(1.0f, 0.0f, 0.0f) * dist * movementSpeed;
73void ExPRestoreCamera(
float *pos,
float *rot)
83void ExPSaveCamera(
float *pos,
float *rot)