During the Nvidia chat on IRC, NV_Derek posted this link, to Gabe Newell talking about the HL2 AA issue.
http://www.halflife2.net/forums/showthread.php?s=&threadid=3071
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.
________
Rl250
http://www.halflife2.net/forums/showthread.php?s=&threadid=3071
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.
________
Rl250
Last edited by a moderator: