The fact that triangles have to be rendered in back to front seems like a big issue that would reduce the speed you could render them. In 15418, I'm trying to write an algorithm to do this with the assumption that I already have the shapes to rasterize in sorted depth order. I wonder what ways there are to get around the need to render the triangles in order.
Apparently the Sega Dreamcast had a pretty unique tile-based architecture where sorting of triangles within a tile was done in hardware (!), making it much easier to draw semi-transparent objects. Incidentally this was also the last video game console I owned, and was made in the last millennium. Boy do I feel old.
CMUScottie
I think I did not get it. So the resulted image looks different when we render transparent objects in different order? Then, what is the advantage of pre-multiplied alpha color?
Isaaz
I think the rendering order of transparent objects has nothing to do with pre-multiplied alpha. It is not the alpha blending algorithm that causes different rendering order presenting different result.
The fact that triangles have to be rendered in back to front seems like a big issue that would reduce the speed you could render them. In 15418, I'm trying to write an algorithm to do this with the assumption that I already have the shapes to rasterize in sorted depth order. I wonder what ways there are to get around the need to render the triangles in order.
There are a number of techniques for order independent transparency; a pretty popular technique is depth peeling, and subsequent variants.
Apparently the Sega Dreamcast had a pretty unique tile-based architecture where sorting of triangles within a tile was done in hardware (!), making it much easier to draw semi-transparent objects. Incidentally this was also the last video game console I owned, and was made in the last millennium. Boy do I feel old.
I think I did not get it. So the resulted image looks different when we render transparent objects in different order? Then, what is the advantage of pre-multiplied alpha color?
I think the rendering order of transparent objects has nothing to do with pre-multiplied alpha. It is not the alpha blending algorithm that causes different rendering order presenting different result.