Official post about Half Life 2 AA issues

Posted on Thursday, Jul 24 2003 @ 07:13 CEST by Thomas De Maesschalck
On you can find a post from Gabe Newell, someone from Valve about the anti-aliasing problems with ATI and NVIDIA 3D cards :

  Since people seem to be hyperventilating over the anti-aliasing issue, I thought I'd update everyone.

1) How bad is the problem?

With current multi-sample implementations of anti-aliasing, you may sample texels outside of the polygon boundary, which may result in sampling light maps from other polygons.

This has always been a problem. This is a problem with Quake 1, Quake 2, Quake 3, Daikatana, Sin, Elite Force, Half-Life, Counter-Strike on the X-Box, or any game that uses packed lightmaps with multi-sample anti-aliasing.

You would see these artifacts on polygon boundaries where the wrong lightmap is being sampled. It will look like a bright or dark line on the edge of a polygon.

Gary McTaggart brought this up in an email because he is being pretty hardcore about graphics quality right now. This is not a new problem. If you've run a game that uses lightmaps with anti-aliasing turned on, then you've been seeing these artifacts the whole time.

Artifacts may show up more frequently in Half-Life 2 simply because we've eliminated lots of other artifacts, and because we have a lot of variation in scene lighting due to our art direction.

To put this in perspective, not doing tri-linear filtering on mipmaps is a lot worse.

2) What are potential solutions?

  • Support Centroid Sampling
  • Use Pixel Shaders to Clamp Texture Coordinates

Centroid sampling doesn't have the problem that center sampling does in multi-sample antil-aliasing. ATI has supported this form of anti-aliasing for the 9000 series. The tricky part is enabling this when DirectX doesn't easily expose this.

There's a different trick you can use with hardware, such as NVIDIA's, that doesn't support centroid sampling. Basically you trade off some pixel shader bandwidth to clamp the texture coordinates so that you don't sample texels outside of that polygon's lightmap sub-rect.

Between these two approaches, multi-sample anti-aliasing artifacts should be a non-issue for any DX9-level hardware running Pixel Shader 2.0.

3) How will this look?

We'll release one of the demo movies with the anti-aliasing artifacts in and one with the anti-aliasing changes

Source : Half-Life2 Forum

About the Author

Thomas De Maesschalck

Thomas has been messing with computer since early childhood and firmly believes the Internet is the best thing since sliced bread. Enjoys playing with new tech, is fascinated by science, and passionate about financial markets. When not behind a computer, he can be found with running shoes on or lifting heavy weights in the weight room.

Loading Comments