Ich verstehe die Sortierfunktion ehrlich gesagt auch nicht wirklich-
Bei Sprites mit Transparenz kommst du nicht Drumherum, die von hinten nach vorne zu zeichnen. Die anonyme Sortiertfunktion muss eigentlich beim Vergleich von zwei Dingen nur einen Wert <0, gleich Null oder >0 ausgeben können. Multiplizieren oder Nachkommastellen abschneiden muss nicht sein.
Ich kenne mich mit FireMonkey nicht aus, aber spontan hätte ich gesagt (bin aus der 3D-Geschichte langsam schon zu lange draußen
) gesagt, die Baum-Sprites werden vom Z-Buffer stellenweise als "nicht transparent" aufgenommen- Sprich:
- Vorderer Baum wird gerendert
- ZBuffer merkt sich das komplette Rechteck
- Hinterer Baum wird gendert: Besteht den Tiefentest gegen den vorderen Baum nicht und wird dort nicht gerendert
Ich weiß nicht, wie man das mit FireMonkey macht, aber kannst du nicht sagen dass alles, wo die diffuse Textur einen Alphawert > schwellwert hat, das nicht in den Z-Buffer geht?