Wednesday, January 17, 2018

opengl - What is the order-less rendering technique that allows partial transparency?


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

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...