• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

multisampling anti-aliasing explained (by me :))

um...ah... unfriendly article to novices but I geddit. so is it better image quality than fsaa or just an economy? it looks like the averaging of the subpixels should be more accurate than RGSS.
 
Yeah, of course. Even my email linked on the article is dave@beyond3d.com 🙂


As for the quality, the edges will be exactly the same as super-sampling. Texures are not effected by multisampling though.
 
Dave -

Nice article. I've got a couple questions for you...

First, what is the Z-Slope? I never saw that defined in the paper, and I'm not familiar with the term.

Second, if I understand the concept right, how does the output of one triangle get added to the frame buffer? It seems to me that there could be a degenerate case where the output value is weighted greater than one when dealing with multiple triangles.

One last thing. Where is the original color value taken from? If I get it correctly the triangle is rendered at the output resolution, and the z-buffer is computed at 2x the resolution prior to the multi-sampling. Is this correct?
 
Well your Z is a value, so it would be the slope of that value.

I'm not sure what you are getting at on the second part.

Finally, the color value is taken from the value of the original pixel. Everything is rendered at 4x.

 
Well I was hoping for a bit more feedback.. come on people! It is so strange.. I've gotten only one negative thing for feedback from this article, and he changed his mind and made it positive.. this isn't normal!!! 🙂
 
Well, no offense Dave but I've read your stuff at B3D and the quality of the writing in this FS article seems different, somehow. I'm not sure how, but it just sounds different, like it's better. Did 3dfx have you documenting stuff, which improved your writing skills??
 
Dave,

What do you mean the "slope" of a value? I'm thinking along the lines of a derivative, but I think I'm just not getting something.

My second question was more of a blending type question. Does the scene have to be sorted back to front for this method to work? Assume that there are two triangle located in approximately the same space in the scene graph. In any one 4 pixel rendering one triangle has 50% coverage, the other has 75%, how are they combined?

Lastly, if you are rendering at 2x the resolution for both color and z, how can you guarantee that you will get the same color value for all of the pixels related to any given triangle?

I think I'm just missing something conceptually, so I'll read the article again. If you could answer these questions it would be a big help though.
 
You don't combine triangles. You render pixels. If one pixel has 25% coverage, you render it at 25% and the other at 75% intesity.

Even though you are at 2x the resolution, you only do a single texture fetch.


As for my writing, I think one factor is that I'm more confident in myself these days. It just flows out easier that way...
 
heh.. how would they have "helped write it". I certainly don't mean this in offense of the guys at FS, but I don't think they had any idea about multi-sampling and therefor they couldn't have "helped".
 
I'm not suggesting that triangles are combined. I'm asking how the output pixels are combined after they are rendered. I'm asking this because I think there could be some problems with the blending if there is even a small bit of overdraw at the edges of the triangles, and the triangles are not ordered.

Also, I'm still confused as to what the Z-slope of a Z value is. What is the equation for determining it?
 
Yeah. That is why you store a 4x color buffer. If you didn't, that could become an issue. By storing a 4x color buffer, you don't actually have the final anti-aliased image until you downsample. If you didn't do this, you would have to sort or store coverage information for each pixel.

As for the Z slope thing, maybe this equation will help.

1/8*dx/dz+4/8*dx/dy
 
Dave, this was from the huge ATi vs 3dfx flame thread which got locked:

No joke. I got a flame mail the other day for the Radeon review on B3D... saying that I must work for NVIDIA and that I was biased against ATI, blah, blah.... I didn't even write the review. 🙂

Yeah, there's always idiot zealots in every camp that always have a problem whenever you say something bad against their favourite product.
 
Back
Top