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.

6 thoughts on “Phone-Wire Anti-Aliasing (DX10 Demo)”

  1. nuninho1980

    What’s(are) your videocard(s) running? Or GTX 680 or HD7970?

  2. WacKEDmaN

    this is the best! and sooo simple even i can understand it! :p

    ive asked iRacing to implement this for their tracks..wires and fences have always been painful to look at and really take away from the photo realism..

  3. SMiThaYe

    Nice little demo there and I’m impressed. I tried it (GTX680s) and it does produce more natural looking wires. I like how it’s fainter and not as bold too. Would like to see a more complete scenery such as a small village (or racing game as WacKEDmaN mentioned) to compare the effects.

    This should be implemented into Nvidia’s control panel via driver update as is with FXAA for the games that need it – would probably work just as well on fences, and thin branches in many games. Hope they take a good look at this.

Comments are closed.