Phone-Wire Anti-Aliasing (DX10 Demo)

Phone-Wire AntiAliasing (DX10 Demo)
Phone-Wire AA enabled (no MSAA)

Humus has published a new anti-aliasing technique to improve the rendering of phone wires with the distance. With the distance, the phone wires are rendered by random disconnected points. Humus’s technique reduces the problem and coupled with MSAA (I tested MSAA 4X), the problem is solved.

Phone-Wire AntiAliasing (DX10 Demo)
Phone-Wire AA disabled (no MSAA)

Phone-Wire AntiAliasing (DX10 Demo)
Phone-Wire AA enabled + MSAA 4X

The idea is to adjust the radius of the wire to make sure it does not get smaller than a pixel wide. If the wire’s radius would make it smaller than a pixel, it clamps the width to a pixel and instead fades with an alpha value corresponding to the radius reduction ratio. For example, if the wire is deemed to be half a pixel large at current distance, it clamps width to a full pixel and sets coverage to 0.5 instead. While the technique solves the problem of aliasing due to thin geometry, it does not address the general problem of jaggies; however, your regular MSAA will take care of that. With both enabled you get a very natural looking wire at any distance.

You can download the demo + source code here: Phone-wire AA.

↑ Grab this Headline Animator