У меня есть симуляция огня, содержащая большое количество текстурированных GL_POINTS
. Каждая частица имеет прозрачный фон, и при взгляде на огонь под определенными углами смешивание работает корректно. Однако при просмотре под другими углами видно, что фон, который должен быть прозрачным, скрывает частицы, отрисовываемые позади других. См. рисунок ниже.
Как видите, на пути частицы оказывается много черных ящиков. Как я могу этого избежать? Функция смешивания, которую я использую, это GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA
. Использование GL_ONE
в качестве второго аргумента для glBlendFunc
дает очень похожие результаты.