поэтому я столкнулся со следующими проблемами в области сценрографов и полупрозрачных объектов ... Моя проблема в том, что я хочу отображать несколько полупрозрачных объектов в одной сцене. Я знаю, что сначала нужно отображать непрозрачные объекты, а затем полупрозрачные с фронта. Это хорошо работает ... Более или менее ...Рендеринг полупрозрачных объектов в сложной сцене
Но реальная проблема заключается в том, что у меня, например, есть один полупрозрачный куб, белый (или любой другой цвет) и с альфа-значением, например, 0,5. Внутренняя структура куба задана в файле obj волнового фронта, поэтому задан порядок одиночных плоскостей куба. Я не заказываю одиночные плоскости объекта, потому что это было бы слишком много в сцене с> 1000 объектами и> 1000 вершинами каждого объекта, поэтому я просто заказываю объекты целиком. Если я выношу одиночные плоскости объекта и перемещаюсь, наступает момент, когда одна плоскость, которая ближе, чем другая, отображается перед другим. И тогда второй не отображается, потому что буфер глубины не позволяет это, что является ошибкой в рендеринге.
Завершение буфера глубины не является решением: мне это нужно, потому что могут быть сложные объекты, которые являются полупрозрачными и непрозрачными.
Любые подсказки, как я могу достичь того, что объекты, даже если они сложны и непрозрачны и полупрозрачны, отображаются правильно?
Хорошо, но проблема в том, что «назад к фронту» означает, что я должен заказать его. Это упорядочение должно быть на каждом треугольнике из-за приведенного выше сценария. Но это может быть слишком много. Есть ли способ сделать это с помощью шейдера? – user2248673
Нет, это невозможно сделать с помощью шейдера, поскольку он обрабатывает треугольники независимо. Точно делать рендеринг полупрозрачных объектов сложно. Даже если вы отсортируете каждый треугольник, у вас могут быть ошибки из-за пересечения треугольников и т. Д. Не можете ли вы жить с ошибкой при сортировке на уровне объекта? вы должны найти компромисс между скоростью и точностью здесь. – Dirk