Transparencies have always been a tricky problem for games, to render them correctly you have to draw them in front-to-back order from the view of the camera, traditionally this means to sort them when you do this you have to break apart material batches and sometimes even meshes, which affects performance. Order Independent Transparency (OIT) solves all these problems but simple implementations severely limit the number of layers of transparencies you can have. This document describes a method that combines OIT with software rasterized sprites via compute shaders, which we’ll call ”Compute Sprites”. Most of our transparent layers were due to particles, the Compute Sprites efficiently take care of most of them, which allows for a practical implementation of OIT for the remaining mesh transparencies in the scene.
Click here for the full technical report: PDF