Я пишу систему частиц и хотел бы найти способ добиться правильного альфа-смешивания без сортировки частиц, потому что:
- Каждая частица является точечным спрайтом в одной сетке, и я не могу использовать возможность графа сцены для сортировки прозрачных узлов. Однако системный узел должен быть правильно отсортирован.
- Положение частиц на шейдере вычисляется по начальной скорости, ускорению и времени. Чтобы отсортировать систему, мне нужно будет выполнить все эти вычисления на CPU, чего я хочу избежать.
- Сортировка сотен частиц по положению камеры и загрузка их на GPU в каждом кадре для тихой тяжелой работы.
Альфа-тестирование кажется достаточно быстрым на GLES 2.0 и отлично работает для непрозрачных, но «замаскированных» текстур. Тем не менее, этого недостаточно для полупрозрачных частиц.
Как бы вы справились с этим?