Retro-Tiles shader - for handhelds and low res systems

Hey,

I was working on something else and randomly I came with this kind of visual that I think is good for low res systems like handhelds.

It’s called Retro-Tiles. It turns pixels into some kind of tile with a bump illusion. I think it’s much bette than the old Retro-v2 shader.

It’s already in slang shader repo, so you just need to use shader update online inside RA to get it.

And you can fix colors by using the core options or other shaders specifically for this purpose.

Here some screenshots. It gives a nice effect in sprites:

5 Likes

If integer scaling is a must, would it make sense to go ahead and handle that inside the shader? We can force it through some vertex trickery.

2 Likes

If you know how to do it, I’d be glad to add! I don’t have a clue.

Check out the ‘box-max’ shader: https://github.com/libretro/slang-shaders/blob/master/auto-box/box-max.slang

It’s also easy to put integer “overscale” into it by just adding 1.0 to the floored integer, which translates nicely to a 1:0 toggle parameter :wink:

2 Likes

Got it here.

I need to cancel the Pull Request or just made another one over the last?

EDIT: I’ll make another PR over the other.

1 Like

yeah, just push up a new commit and it’ll get added to the current one.

On another topic, I just noticed this: pow(size, 3.0). Would it make more sense to just do (size * size * size) there instead? to get rid of the relatively expensive pow()? (this link seems to suggest that it’s likely a perf win, but probably an extremely small one in this case: https://stackoverflow.com/questions/39446306/glsl-pow-vs-multiplication-for-integer-exponent)

3 Likes

Ok. Made the commit. And swapped pow by ***.

4 Likes

This is a super fun look @Hyllian! It definitely adds a nice feel for these handheld res graphics, really nice job!

4 Likes