Поэтому я пытаюсь найти лучший способ визуализации 3D-модели в OpenGL, когда для некоторых из применяемых к ней текстур есть альфа-каналы.
Когда у меня включен буфер глубины, и начинаю рисовать всетреугольники в 3D-модели: если он рисует треугольник, который находится перед другим треугольником в модели, он просто не будет отображать задний треугольник, когда доберется до него.Проблема в том, что передний треугольник имеет альфа-прозрачность, и его можно увидеть сквозь треугольник позади него, но треугольник позади все еще не отображается.
Отключение буфера глубины устраняет эту проблему, но создаеточевидная проблема в том, что если треугольник является непрозрачным, то он все равно будет отображать треугольники за ним сверху, если будет отображаться после.друг с другом, которые имеют прозрачную основу.На следующем рисунке показана проблема, которая возникает при включении буфера глубины:
![Depth Buffer Enabled](https://i.stack.imgur.com/Buu6r.jpg)
Вы можете увидеть, как вы все еще можете видеть контур прозрачных треугольников.
На следующем рисунке показано, как это выглядит, когда буфер глубины отключен.
![Depth Buffer Disabled](https://i.stack.imgur.com/Fkpxl.jpg)
Здесь вы можете увидеть, как некоторые из треугольников на задней части дерева отображаютсяперед остальной частью дерева.
Есть идеи, как решить эту проблему и правильно отрисовать сосну?
PS Я использую шейдеры для рендеринга всего.