1
\$\begingroup\$

I am drawing 2D objects in Unity. Some of these objects are drawn using the standard sprite method that is built into Unity. Others are computed as distance functions in a shader.

In both cases I can't get Unity to apply anti aliasing despite the setting being set.

AA not being applied

Is there an extra step that I am missing that is required to get anti aliasing to work properly?

Would it be better to implement my own form of AA in a shader?

\$\endgroup\$
4
\$\begingroup\$

Multisampling AA (MSAA) is only capable of multisampling the geometry edges. If you want your sprites to be anti aliased, you should use a post process AA, like FXAA for example.
You can also use bilinear filtering to smooth out the texture itself (it seems that you are using point/nearest filtering).
Having multiple mip-maps for your textures can also reduce aliasing if your texture is minificated (for example if it is in the distance). Use trilinear filtering if you have mipmaps, it will blend your mipmaps seamlessly.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.