I finally added that linked list thing to my domino array class, and after fixing a bunch of segmentation fault bugs I didn't notice at first, tried using it. Well, as you can see at the end of the video, it does still crash sometimes, but I can figure that out. In the meantime, dominoes can now be sorted by their distance from the camera. This looks pretty good on the glass dominoes, much better than no sorting at all, but it's not physically accurate, and there's a pretty wide range of camera angles where you can see dominoes swapping position in the rendering list. I might try augmenting the distance with a convex hull test that should give even better results, but I think at that point I could be wasting too many CPU cycles on something I don't really need. So the glass dominoes will probably be used sparingly or not at all. Fortunately, I can also this for opaque dominoes, but in reverse: Whereas the glass dominoes are drawn painting-style from back to front, so that their transparencies stack properly, the opaque dominoes can be drawn from front to back, so that the Z-buffer will more efficiently throw out occluded pixels, and the pixel shader will waste less time on drawing dominoes that are going to be covered up later anyway. I don't think my application is pixel-bound at the moment, but with more dominoes or weaker hardware, the sorting might be useful.