order indapendant transparency and shadow mapping

for the sake of brevity, i’ve been looking at these nvidia sdk demos that envolve ‘depth peeling’ to mainly produce order indapendant transparency.

however i’m afraid the source is not exactly very intuitive for me, and the shader code is assembly inlined with nvparse, so i was hoping maybe i could capture a little bit of insight in here.

as well in the process of this investigation it became clear that shadow mapping is not what i thought it was, but rather utilizes depth maps. maybe ‘light mapping’ is the correct term for what i had in mind, which is just applying shadows directly in a texture. previously i had assumed that light and shadow mapping were the same, even though i had previously seen evidence which was beginning to cast doubts on my presumptions.

anyhow, i’m interested in order indapendant transparancy, how basicly it works, and how realistic is it for a complex scene.

could anyone ever see a day when a similar approach to order indapendant transparancy would be a ubiquitous hardware feature like antialiasing that could be turned off and on?




I don’t think that this is gonna happen soon.

In this demo, order independent transparency is just an expression which means that the application doesn’t have so sort the primitives b4 sending them to the pipeline. It doesn’t mean that the fragments are rendered in an arbitrary order. In fact, depth peeling ensures that the fragments are rendered either front-to-back or back-to-front. So intuitively, you may think of this as a way to sort the primitives at the fragment levels on the GPU using multiple rendering passes.

Given N peels (N rendering passes) in a scene with depth complexity of N, I don’t see why the results with order-independent-transparency would be different than sorting the primitives first on the CPU and then rendering them.

Have you checked this associated paper?

have a nice day!