diff --git a/include/Defines.h b/include/Defines.h index 30cfd92..e1bee3f 100644 --- a/include/Defines.h +++ b/include/Defines.h @@ -4,6 +4,8 @@ namespace td { +static constexpr float PI = 3.14159265358979323846264338327950288f; + template struct Vec2 { union { diff --git a/include/render/Renderer.h b/include/render/Renderer.h index 8883c2e..d3cf602 100644 --- a/include/render/Renderer.h +++ b/include/render/Renderer.h @@ -19,13 +19,14 @@ struct Camera { Vec3f CamPos {0, CamDistance, 0}; Vec2f CamLook {}; - float m_Yaw = -3.141592653f / 2.0f; - float m_Pitch = -3.141592653f / 2.0f - 0.0000001f; + float m_Yaw = -PI / 2.0f; + float m_Pitch = -PI / 2.0f + 0.0000001f; }; class Renderer { public: static constexpr float m_AnimationSpeed = 2.0f; + static constexpr float m_MouseSensitivity = 100.0f; struct Model { GL::VertexArray* vao; diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index fbf2845..556df46 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -93,8 +93,8 @@ void Renderer::SetZoom(float zoom) { } void Renderer::SetCamMovement(const Vec2f& mov) { - m_Camera.m_Pitch -= mov.y / 50.0f; - m_Camera.m_Yaw += mov.x / 50.0f; + m_Camera.m_Pitch = std::clamp(m_Camera.m_Pitch - mov.y / m_MouseSensitivity, -PI / 2.0f + 0.0000001f, -PI / 12.0f ); + m_Camera.m_Yaw += mov.x / m_MouseSensitivity; SetCamLook(m_Camera.CamLook); }