From ff22bce6ba5f0eba0650142ee50aa39e699c49fa Mon Sep 17 00:00:00 2001 From: Eikthyrnir Date: Fri, 24 Nov 2023 04:09:19 +0100 Subject: [PATCH] refactoring --- cw 4/src/ex_4_1.hpp | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/cw 4/src/ex_4_1.hpp b/cw 4/src/ex_4_1.hpp index ffec4dd..8f4dc79 100644 --- a/cw 4/src/ex_4_1.hpp +++ b/cw 4/src/ex_4_1.hpp @@ -39,7 +39,7 @@ float deltaTime = 0.f; glm::vec3 lightColor = glm::vec3(0.9, 0.7, 0.8); bool moveCamWithMouse = false; -glm::vec2 posMousePressed; +glm::vec2 lastMousePos; glm::vec2 posMouseReleased; glm::mat4 createCameraMatrix() @@ -171,23 +171,10 @@ void cursor_position_callback(GLFWwindow* window, double xpos, double ypos) if (moveCamWithMouse) { glm::vec3 spaceshipSide = glm::normalize(glm::cross(spaceshipDir, spaceshipUp)); - //int winWidth, winHeight; - //glfwGetWindowSize(window, &winWidth, &winHeight); - //glm::vec2 currMouseWorldPos = glm::vec2(2 * xpos / winWidth - 1, -(2 * ypos / winHeight - 1)); - //glm::vec2 lastMouseWorldPos = glm::vec2(2 * posMousePressed.x / winWidth - 1, -(2 * posMousePressed.y / winHeight - 1)); - - //glm::vec3 lastPosOnClickPlane = spaceshipPos + 1.5f * spaceshipDir - // + lastMouseWorldPos.x * spaceshipSide - // + lastMouseWorldPos.y * spaceshipUp; - //glm::vec3 currPosOnClickPlane = spaceshipPos + 1.5f * spaceshipDir - // + currMouseWorldPos.x * spaceshipSide - // + currMouseWorldPos.y * spaceshipUp; - //spaceshipDir = glm::normalize(spaceshipDir - (currPosOnClickPlane - lastPosOnClickPlane) / 10.f); - - glm::vec3 diff = spaceshipSide * (xpos - posMousePressed.x) - spaceshipUp * (ypos - posMousePressed.y); + glm::vec3 diff = spaceshipSide * (xpos - lastMousePos.x) - spaceshipUp * (ypos - lastMousePos.y); spaceshipDir = glm::normalize(spaceshipDir - diff / 1000.f); - posMousePressed = glm::vec2(xpos, ypos); + lastMousePos = glm::vec2(xpos, ypos); } } @@ -195,7 +182,7 @@ void mouse_button_callback(GLFWwindow* window, int button, int action, int mods) { double xpos, ypos; glfwGetCursorPos(window, &xpos, &ypos); - posMousePressed = glm::vec2(xpos, ypos); + lastMousePos = glm::vec2(xpos, ypos); if (button == GLFW_MOUSE_BUTTON_1 && action == GLFW_PRESS) { moveCamWithMouse = true;