3 ms·
I remember when I was looking into this at one point in time. I was trying to figure out a good implementation that didn't require you to store multiple differe
by Cieric 2y ago
I remember when I was looking into this at one point in time. I was trying to figure out a good implementation that didn't require you to store multiple different positions. The most I really ever got was a reverse order transparency [1] which employs some stuff similar to the article.
My plan was basically render everything opaque first, then render transparency front to back till the layer became opaque (discard all pixels under an already opaque pixel), and of course exclude everything further away than the depth buffer of the opaque layer.
Might be interesting to actually go and finish the implementation to test it out, I just never had a good test scene with a lot of transparency (with an opaque layer since half my benefit comes from that.)
[1] https://www.shadertoy.com/view/msyGDR https://www.shadertoy.com/view/msyGDR
- msk-lywenn 2y agoYou probably want to render back to front. Also, that’s the first part of the problem. OIT solves the case where meshes and even triangles cross each other too.