What are the differences and advantages between alpha blending, destination alpha, and color layering (super nes' style transparencies)?
Is the Super NES method technically possibly with today's 3D rasterization model? If so, then would transparent textures rendered by that method still show aliasing?
- Alpha blending is a combination of two colors with an alpha value so that Result = (1 - Alpha) * Value0 + Alpha * Value1. If you assign a different alpha value for each pixel (ie. with a proper texture), you don't get any aliasing.
- I don't know what you mean by "destination alpha". AFAIK, the destination alpha is a component of alpha blending, not a technique on its own.
- I'm not sure what you mean by color layering and I don't know the SNES hardware but back to these days, transparency was done by hacks related to indexed colors. Since we now use true colors, these hacks are essentialy useless and can't be done with current hardware (actually you could kinda emulate the thing with some shaders but that would be pointless). By the way, I don't see how this technique relate to AA at all.
I guess you are confusing alpha blending and alpha testing. With alpha testing, you only draw pixels with an alpha greater than a threshold. This is more a masking operation than a transparency one, and it is often used to draw grids (more generaly, textures which are opaque except for some "holes"). Since it's a binary operation (you either draw a pixel or you don't) it leads to aliasing. And since the aliasing takes place in the interior of the triangles, MSAA don't take care of it, although SSAA do.
We could always use alpha blending instead of alpha testing since alpha testing is just some kind of special case of alpha blending. This would avoid some aliasing and all would be fine.
But if alpha testing is still quite used it's because it is much faster than alpha blending.