Open zanhecht opened 3 years ago
Pinging @hi-ban, since he worked on implementing Scale3x in Ohboy.
This would be great!!! Even better if would be possibile use the entire screen vertical (like the 1,666x scaler)! 🤩 In the meanwhile I use a recent port of Ohboy: https://github.com/Rezzy-dev/ohboy/
The "Scale3x+Sample.75x" scaling in the OhBoy emulator produces results that are far better than those produced by either the "1.5 Fast" or "1.5 Smooth" options in gambatte (look at the eye of the bird statue, or the girl's hair, for example, in the images below). It is based around the GPL Scale3x algorithm from http://www.scale2x.it/algorithm.html, an algorithm developed for AdvanceMAME that can upscale the image in such a way that removes jagged edges without making it blurry.
OhBoy Scale3x+Sample.75:![ohboy_Scale3x+Sample 75](https://user-images.githubusercontent.com/797985/93644154-6d913200-f9cf-11ea-9173-26c4fca4b57d.jpg)
Gambatte 1.5x Smooth:![gambatte_1 5x_Smooth](https://user-images.githubusercontent.com/797985/93644265-a5987500-f9cf-11ea-80c2-2365d6c3c774.jpg)
Gambatte 1.5x Fast:![gambatte_1 5x_Fast](https://user-images.githubusercontent.com/797985/93644278-ac26ec80-f9cf-11ea-97c0-b0c33a2c88e2.jpg)
According to the OhBoy documentation, it uses Scale3x to scale the image to 480x432, and then it uses simple pixel averaging to downscale to 240x216. The actual implementation in OhBoy, which starts at line 460 in https://github.com/hi-ban/ohboy/blob/master/main.c, appears a bit more clever than that, but I can't quite follow the code.