Description
Pixel art was frequently employed in games of the 90s and earlier. On today's large and high-resolution displays, pixel art looks blocky.
Recently, an algorithm was introduced by Johannes Kopf and Dani Lischinski to create a smooth, resolution-indepenent vector representation from pixel art (see image). However, the algorithm is so far too slow for interactive use for example in a game.
The goal of this project is to implement the algorithm efficiently and on the GPU, so that it can be incorporated into current game emulators (ScummVM, dosemu, ...).
Task
- Implement the algorithm Depixelizing Pixel Art described here.
- Create an efficient GPU implementation
- Integrate into current emulators (ScummVM, dosemu, ...).
- For DA: investigate temporal upsampling methods (how to make animations smoother by inserting additional, interpolated motion frames).
- For DA: investigate ways to deal with dithered inputs
- For DA: investigate ways to deal with corners
Requirements
Familiarity with C++, OpenGL and/or DirectX.