Ich schreibe ein Partikelsystem und möchte einen Trick finden, um eine korrekte Alpha-Mischung zu erreichen, ohne Partikel zu sortieren, weil:
- Jedes Partikel ist ein Punktsprite in einem einzelnen Netz, und ich kann die Szenendiagrammfunktion nicht zum Sortieren transparenter Knoten verwenden. Der Systemknoten sollte jedoch ordnungsgemäß sortiert sein.
- Die Partikelposition wird auf dem Shader aus Anfangsgeschwindigkeit, Beschleunigung und Zeit berechnet. Um das System zu sortieren, müsste ich all diese Berechnungen auf der CPU durchführen, was ich vermeiden möchte.
- Das Sortieren von Hunderten von Partikeln anhand der Kameraposition und das Hochladen auf die GPU jedes Bilds ergibt einen leisen, schweren Betrieb.
Alpha-Tests scheinen auf GLES 2.0 schnell genug zu sein und funktionieren gut für nicht transparente, aber "maskierte" Texturen. Für halbtransparente Partikel reicht dies jedoch nicht aus.
Wie würden Sie damit umgehen?