In an "Order Independent Transparency" implementation, one faces sorting a large amount of (as many as the number of pixels in the viewport) sets of data with relatively small number of elements.
I am concerned about the branch divergence when such a set of data sets are sorted.
Is the second(coloring pass) fragment shader the most appropriate place to handle this?
Would it make any sense to introduce a compute shader, or even a CUDA kernel, in between the geometry pass and the coloring pass?
There is also the question of choosing an appropriate sorting method: Radix sort, Insertion sort, ...? Are there any studies on this subject, any practical tips?