We’re working on a new asset to help you achieve the perfect smooth big-pixel look for your retro styled game! Smoothly rotate, scale, and position your artwork without unsightly jaggies, moire, or swimming pixels. RetroAA keeps your pixels looking their best.
RetroAA also works well with voxel games and is 3D ready! With anisotropic filtering enabled, your textures will keep their sharp pixel look even at very shallow viewing angles.
Not much. It’s a fairly efficient pixel shader. Higher quality and cheaper than screen space AA effects like FXAA. Significantly less than some of the built in shaders like displacement mapping for instance.
If this fixes the issues I’ve had with trying to maintain a low resolution pixel art style you guys are amazing. This looks perfect for one if the next games I want to work on.
Another good example of a 3D scene with RetroAA. On the right side point filtering quickly turns into noise (that looks even worse when moving), and the close up details have a lot of visible aliasing. RetroAA on the left side anti-aliases between texels close up and keeps them looking sharp as possible when they get further away.
Absolutely amazing. I cannot wait for you guys to release this. Been a major problem for me with wanting pursue this 3D, low resolution, pixel art style. This has reignited my excitement.
So one thing I think we didn’t point out yet was that RetroAA gives you anti-aliased texture filtering, but it doesn’t anti-alias polygon edges. So you’ll want to use it to complement regular MSAA.
Today I added a SpriteRenderer version of the shader. This one includes alpha blending and support for Unity’s sprite atlases. Here’s an enlarged picture to show how it looks with sprites that have been rotated slightly.
We have some more ideas that we’ve been working on as well such as applying an unsharp mask filter as part of the anti-aliasing to make the pixels even sharper, and we are experimenting with Unity 5.4’s alpha-to-coverage feature for supporting anti-aliasing alpha cutouts for 3D games.
We provide a standard surface shader, an unlit shader, and a sprite one.
The surface shader version started with the template, and we didn’t add any properties (yet). We weren’t sure which combinations people would want and if which channels they would want RetroAA applied to. For instance, you probably do want it applied to normals and specular, but maybe not AO. Parallax mapping probably would work really poorly with a discontinuities in the height map. On the other hand, it’s a surface shader so it’s as easy as possible to modify. We are also very open to requests.
We are considering adding support for doing anti-aliased alpha cutouts using Unity 5.4’s new alpha to coverage support. This would be great for anybody that wants to mix regular anti-alising and RetroAA together to anti-alias both polygon edges and the texturing.
There is DEFINITE interest in mixing this with regular AA, yep, though I’m a little unclear how you’d be leveraging alpha-to-coverage for that (I haven’t looked into it at all). In case it matters, we’re also using most of the Amplify plugins, so however you did it, odds are good you aren’t the only post-processing system in play, if it’s the sort of thing where you’d be moving beyond a relatively straightforward surface shader.
Very interested in getting this soon.
Personally I’d like everything to be exposed, and simple to apply or not. All properties available in the standard shader would be best to have accessable in the custom shader. And a simple check box to apply RetroAA or not.
That’s the kind of ease of use I’d really like to see.
Great work on the pack so far.
The quicksplanation version is that the GPU generates a bitmask of which subsamples in a pixel are covered by a triangle. You can modify that bitmask by a shader to control the anti-aliasing strength for a certain pixel. Alpha-to-coverage basically means modifying that coverage bitmask using an alpha value. Ex: When the alpha is 25%, turn off all but 25% of the coverage bits that the hardware said were part of the triangle.
Hello, does this asset come with non-obfuscated shader code ? I am interested in this but I use custom shaders so I will need to hack through the code to integrate it to my game.