Ja, genau das habe ich doch geschrieben. Deine Transparenten Teile landen im Z-Buffer, was aber zu früh ist. Entweder du sortierst alles von vorne herein von hinten nach vorne (dann braucht man aber praktisch keinen Z-Buffer mehr, und besonders schnell ist das auch nicht), oder du zeichnest eben, wie schon
gelegentlich erwähnt, alles mit Transparenzen als letztes. Das ist die mit
Abstand einfachste und performanteste Lösung*. Einen anderen Tipp kann ich dir nicht geben, und andere Wege wären vermutlich ziemliches Gefrickel, ausser man macht ohnehin schon etwas ganz anderes wie Deferred Rendering z.B. - da sind andere Lösungen gefragt.
*) Sobald mehrere transparente Faces hintereinander auftauchen können, müssen diese allerdings von hinten nach vorne sortiert werden. Sonst bekommt man genau das gleiche Problem wieder. Aber zumindest muss man so nur die transparenten Faces, und nicht alles B2F sortieren, was die Performance doch deutlich drücken würde.
Edit: Ganz lustig wird es, wenn sich Faces schneiden können und daran transparenzen beteiligt sind. Manche Enginges gehen in diesen Fällen sogar so weit die Schnittgeraden zu bestimmen und die Faces dynamisch zu splitten
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)