I've gotten a good game engine going after spending quite some time with SFML, but now I've run into a bit of a problem.
You see, if I move a render window's view by any decimal, it blurs the image to appear to be in multiple pixels at the same time.
Up until now, It's never really been a real problem because I only drew box-shaped objects to the view.
However, now that I have started to draw objects with more complicated geometry, it's really annoying to see how blurry things can get.
Most would figure that it'd just be as easy as moving all my objects by whole numbers instead of decimals.
This wouldn't work though because I am multiplying the movement of my view by the application's frame time in order to maintain the same speed across different systems.
Here's some code that can help replicate the problem:
float Offset = App.GetFrameTime() * 128.f;
float OffsetX = 0.f;
float OffsetY = 0.f;
if (Input.IsKeyDown(sf::Key::Up)) OffsetY = -Offset;
if (Input.IsKeyDown(sf::Key::Left)) OffsetX = -Offset;
if (Input.IsKeyDown(sf::Key::Down)) OffsetY += Offset;
if (Input.IsKeyDown(sf::Key::Right)) OffsetX += Offset;
View.Move(OffsetX, OffsetY);
I have thought of rounding the offset to the nearest whole number, but that would lower the resolution of my view.
Perhaps it'd be best if SFML rounded to the nearest whole number while rendering each frame without modifying the resolution of my view.
Anyways, I am simply looking for advice on the subject; it doesn't look too great having a blurry game.