Sign in to follow this  
kevinppp

Triangle rasterizer with A-buffer antialiasing

Recommended Posts

kevinppp    122
I am trying to implement a software triangle rasterizer with antialiasing. After read through a few papers, I am still confused. 1. Is multisampling just another name of A-buffer antialiasing or they are totally different? If they are not the same, what is the difference? 2. Since the A-buffer antialiases the edges of triangle, then what about the pixels fully covered by the triangle? Do we have to save the bit mask for all pixels or just for the pixels on the edges? (partially covered) 3. Currently, big objects are usually divided into triangle meshes which are composed of large amount of small triangles. Do I have to antialiase the edges of all the small triangles or just antialiase the edge of the whole object? 4. How to deal with the two triangles neighbored by one edge? The pixels on this edge will partially covered by both triangles. Then which triangle will provide the interpolated color for this pixel. I know if the pixel center is inside triangle A, we will have the color for this pixel after linear interpolation in triangle A. But what about the triangle B? Since it also keeps a bit mask for this pixel(Or I am totally wrong?), does it have to provide another color for this pixel too. Could anyone please give some sources where I can find the related info or similiar implementation? Sorry for my stupid questions. Any help or comment is appreciated. Jian

Share this post


Link to post
Share on other sites
EvilDecl81    360
A-Buffers and supersampling are quite different. A buffer is a deep backbuffer where multiple samples are stored and resolved later. It is especially useful for sort-independent translunecy. It can also be used for dicing techinques, which is one of the more popular methods for good antialising today.

Multisampling is just rendering at a higher resolution. The problem is that the resolution you need to render at is very dynamic depending on what is going on.

Sorry I can't elaborate more, but A-Buffer techniques aren't that simple, I don't think I can explain them in a post ;)

Quote:
Original post by kevinppp
I am trying to implement a software triangle rasterizer with antialiasing. After read through a few papers, I am still confused.

1. Is multisampling just another name of A-buffer antialiasing or they are totally different? If they are not the same, what is the difference?

2. Since the A-buffer antialiases the edges of triangle, then what about the pixels fully covered by the triangle? Do we have to save the bit mask for all pixels or just for the pixels on the edges? (partially covered)

3. Currently, big objects are usually divided into triangle meshes which are composed of large amount of small triangles. Do I have to antialiase the edges of all the small triangles or just antialiase the edge of the whole object?

4. How to deal with the two triangles neighbored by one edge? The pixels on this edge will partially covered by both triangles. Then which triangle will provide the interpolated color for this pixel. I know if the pixel center is inside triangle A, we will have the color for this pixel after linear interpolation in triangle A. But what about the triangle B? Since it also keeps a bit mask for this pixel(Or I am totally wrong?), does it have to provide another color for this pixel too.

Could anyone please give some sources where I can find the related info or similiar implementation?

Sorry for my stupid questions. Any help or comment is appreciated.

Jian


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this