I've seen somewhere rendering technique that allows order-less rendering of partially transparent sprites/objects.
Though I can't remember what the technique is called, so I'm having trouble Googling it.
Answer
There are lots of ways to achieve order-independent transparency.
The first (and I think oldest) type of algorithm is called depth peeling and works by "peeling" one transparency layer per pass (in the most basic version). This Nvidia paper for Dual Depth Peeling shows peeling two layers at the same time.
The second type which I only know as "order-independent transparency" (or OIT) works by storing transparent fragments during rendering (e.g. in a linked list) and then sorting them via compute shader. An example is contained in the DirectX 11 SDK, another (and lots of links) is here.
The next thing I remember is Order Independent Translucency which stores fragments by hijacking MSAA.
And last but not least there is a sample for Stochastic Transparency in the latest NVIDIA Graphics SDK 11 Direct3D
Hope this contains the algorithm you searched for.
No comments:
Post a Comment