3 ms·
I dunno, it's pretty clear from the examples that the vector files were created with the intention of being displayed at low resolution and the high-res version
by causality0 4y ago
I dunno, it's pretty clear from the examples that the vector files were created with the intention of being displayed at low resolution and the high-res versions are mutilating some of the effects. For example, the skeleton's teeth and the curve on the satellite dish look right at low res but look like they were drawn by an incompetent at high res.
- thaumasiotes 4y agoIt looks to me like the data relies on the images using a minimum stroke width relative to the size of the rendered image. All of them display areas of white where there is no image data, because increasing the resolution caused pixels to appear in the space between strokes that, at the original resolution, were less than a pixel apart. Stated another way, the images are full of shapes that should have color fills, but instead they're just strokes that are guaranteed to be so fat that a fill would be redundant. You also don't need to define every edge of a shape - you can define top and bottom and just let the fat strokes implicitly define left and right edges.
- richard_todd 4y agoYeah, exactly. The other big factor is that the lines are vector but the flood fills are pixel-based, so accuracy depends very much on the width of the lines---and even the rasterization algorithm used for the lines. Add to this the issue you brought up about thick pixelated lines making many fills redundant, and you have a pretty good idea about why automated upscaling of these games will never be very satisfying. Also, the sprites in the games are not vector art, and the games depend on the sprites covering exact areas of the background imagery.
- Moru 4y agoI'm no Krita [1] expert but I have played a bit with this and it works pretty well. Maybe some similar method would work to fill in the colors. [1] https://docs.krita.org/en/tutorials/flat-coloring.html#colorize-mask https://docs.krita.org/en/tutorials/flat-coloring.html#color...
- DonHopkins 4y agoIt could be nicer if it reverse engineered the speckles of different densities from the error diffusion dithering back into nice smooth continuous gradients. As it is, it just leaves a bunch of individual dots in, but those could be detected and their color spread out to make a gradient. Like near the horizon of the planet, and the skulls and bones, for example. Of course you'd need to detect and mask out the area that the gradient applies to, since you don't want i.e. the color bleeding out past the edge of the planet into space, or into the outlines.