У меня есть сцена с множеством объектов, некоторые из которых полупрозрачные, я использую обычный метод рендеринга, который:
- Рендеринг непрозрачных объектов
- Сортировка прозрачных объектов из положение камеры дальше и ближе
- Включить смешивание и установить
GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha)
- Отображать полупрозрачные объекты
Прозрачные объекты отображаются как прозрачные, но они всегда отображаются даже если они находятся за другими объектами, хотя я включаю DepthTest
и CullFace
.
В фрагментном шейдере я помещаю окончательный альфа-цвет к альфе, которую я получаю из материала.
Решено: Я отключил тест глубины внутри функции рисования объектов, поэтому, когда я его удалил, он работал нормально.