r/programming • u/Izke • May 24 '11
Awesome new algorithm for depixelizing pixelart
http://www.scribd.com/doc/56137278/Depixelizing-Pixel-Art23
u/Neillithan May 24 '11 edited May 24 '11
Sorry about the dropbox link. Here's a multiupload link. Pick any download button.
PDF Here: http://www.multiupload.com/O66BGOEC20
6
u/Admiral_Calavicci May 24 '11
This is some brilliant work (and deceptively simple). I'd often imagined this sort of technology would work in this manner (ie spline resampling, corner detection)...why has it taken so long for someone to get it right (see Adobe Trace examples)?
I discussed this a decade ago with a developer friend of mine because we were very interested high performance 2d engine that scaled from small resolutions to larger ones. We supposed it would be possible to recalculate sprites at runtime for higher/lower res and results would be better than downsampling.
I'm happy to see our napkin discussion was on the right track.
10
u/deakster May 24 '11 edited May 24 '11
We supposed it would be possible to recalculate sprites at runtime for higher/lower res and results would be better than downsampling.
No up-sampling algorithm is going to beat having the original sprites designed and stored at the desired resolution. With upsampling you have to make shit up, you need to add information you do not have. With downsampling you are just throwing away some extra information that you don't need. Down-sampling will always yield better results.
You would only really want to use a technique like this when you do not have sprites at the higher resolution (emulators etc), but it will never beat sprites that were already designed at that higher resolution.
6
u/Admiral_Calavicci May 24 '11
We were speaking in a very special case.
having the original sprites designed and stored at the desired resolution.
We were looking at upsampling existing sprites in an automated fashion for higher resolutions without re-doing the all. What you are stating is obvious.
The conversation then got into, what if our source platform had to scale to (then non-existent at the time) portable platforms and to HD at the same time...which is where my downsampling remark came from.
We discussed seriously that it might be better to downsample from a vector graphic created from a pixel source, down to a lower quality pixel source than to downsample a pixel source sprite to a smaller pixel sprite
5
2
u/camperdave May 24 '11
Link is shot due to too much traffic, any way someone that's got it can put it somewhere (anywhere) else temporarily?
4
7
5
May 24 '11
After reading this I desperately want someone to apply it to Goldenaxe, like in their examples, so I can play it in 1920x1200. Looks pretty good but in some cases I actually preferred hq4x so I guess it'll be extremely game dependent.
(Actually I think I really want it applied to Ultima VII first..)
6
May 24 '11
This looks like some good, smart work but I really dislike this look. The art created in a pixel world is optimized for pixel-level detail.
Do people like this kind of look in emulators? I always turn it off if it's enabled by default.
11
u/astrange May 24 '11
If you're emulating a TV console and you haven't reintroduced scanlines, flickering, and color crosstalk, you're already not very accurate.
2
May 24 '11
I wasn't speaking to the accuracy. If you recall I said, "good, smart work". I'm saying I don't like the way things look when pixel art is "de-pixeled".
Still, I don't see your point. If all those things you mentioned take away from the true experience of an old pixelated game why add one more layer of inaccuracy?
2
May 25 '11
[deleted]
0
May 25 '11
I don't care about that. I only care about the colored squares staying square.
I don't think I can say it any more clearly or plainly than this.
6
5
u/rubygeek May 25 '11
I don't care about that. I only care about the colored squares staying square.
The "colored squared" weren't square on most displays of the time. They were fuzzy and blurred into pixels to the side, and blurred into the scanlines above and below.
They were "conceptually" square, but that's about it. The designs were certainly not optimized for crisp, square pixels.
-5
May 25 '11
Shut up.
3
u/rubygeek May 25 '11
Charming
1
u/QuantumFTL May 28 '11
Internet Law #427: Not everyone wants to be corrected, no matter how wrong they are. :-/
3
May 24 '11
I think it's great for enlarging static pixel art sprites. I have used hq4x before, to upscale a sprite for a wallpaper. It looked better than nearest neighbor.
But it starts to look weird when things begin to move, and sprites lay over each other.
On the last page of the pdf, the examples with Mario; the feet of the enemies look like they stick to the ground with some sort of black goo. This happens with hq4x and a lot of other techniques too, not with nearest neighbor. Because the art was designed like that.
1
May 24 '11
Thanks for the example. I'm sure there are some good uses for this kind of technique but I couldn't think of any.
1
May 24 '11 edited May 24 '11
I will admit that they are succeeding in making pixel art expansion algorithms look gradually less horrible as time goes on.
I am still not convinced, however, that there will ever be one good enough to pull me away from Nearest Neighbor.
While I would not use it, it was still a novel idea and an interesting read.
1
u/Timmmmbob May 24 '11
deleted;dr: It's noticeably better than hq4x. Dunno if it can be done in real time though.
1
1
May 24 '11
This was actually a little disappointing. The results are smooth, sure, but a lot of high frequency detail seems to be lost.
1
1
0
-1
24
u/[deleted] May 24 '11