diff --git a/RecastDemo/Source/main.cpp b/RecastDemo/Source/main.cpp index eb8f459d..4c63314e 100644 --- a/RecastDemo/Source/main.cpp +++ b/RecastDemo/Source/main.cpp @@ -356,10 +356,10 @@ int main(int /*argc*/, char** /*argv*/) SDL_GetMouseState(&mouseLogicalX, &mouseLogicalY); // Scale mouse coordinates in accordance with high-dpi scale - const float scaleX = static_cast(app.drawableWidth) / app.width; - const float scaleY = static_cast(app.drawableHeight) / app.height; - const float mouseX = mouseLogicalX * scaleX; - const float mouseY = app.drawableHeight - mouseLogicalY * scaleY; // Flip Y (OpenGL origin is bottom-left) + const float scaleX = static_cast(app.drawableWidth) / static_cast(app.width); + const float scaleY = static_cast(app.drawableHeight) / static_cast(app.height); + const float mouseX = static_cast(mouseLogicalX) * scaleX; + const float mouseY = static_cast(app.drawableHeight - mouseLogicalY) * scaleY; // Flip Y (OpenGL origin is bottom-left) GLdouble x, y, z; gluUnProject(mouseX, mouseY, 0.0, modelviewMatrix, app.projectionMatrix, app.viewport, &x, &y, &z);