Вопрос

В чем разница между использованием отбраковки задней грани и буфером глубины в OpenGL?

Это было полезно?

Решение

Отбраковка задней поверхности - это когда OpenGL определяет, какие грани обращены в сторону от зрителя и поэтому невидимы.Подумайте о кубе.Независимо от того, как вы поворачиваете куб, 3 грани всегда будут невидимы.Выясните, что это за грани, удалите их из списка полигонов для рисования, и вы просто вдвое уменьшите свой список чертежей.

Буферизация глубины довольно проста.Для каждого пикселя каждого нарисованного многоугольника сравните его значение z с z-буфером.если оно меньше значения в z-буфере, установите значение z-буфера в качестве нового значения z-буфера.Если нет, выбросьте пиксель.Буферизация глубины дает очень хорошие результаты, но может быть довольно медленной, поскольку для каждого пикселя требуется поиск значения.

На самом деле между этими двумя методами нет ничего похожего, и часто используются оба.Получив куб, вы можете сначала вырезать половину полигонов с помощью выбраковки, а затем нарисовать их с помощью z-буферизации.

Отбраковка может сократить количество отображаемых полигонов, но это не алгоритм сортировки.Вот что такое Z-буферизация.

Другие советы

Данный треугольник имеет две стороны: переднюю грань и заднюю грань.Сторона, на которую вы смотрите, определяется порядком отображения точек в списке вершин (также называемом извилистостью).Обычно списки треугольников имеют чередующуюся намотку, так что вы можете повторно использовать предыдущие две точки, но грани данного треугольника на полосе не чередуются.Отбраковка задней грани - это этап оптимизации, на котором треугольники в сцене, ориентированные в сторону от вида, удаляются из списка треугольников для рисования.

Буфер глубины (z-buffer) используется для привязки к ближайшему объекту (глубина зависит от вида), который уже был отрисован.Если объект, который появляется следующим в списке рисования, находится за чем-то, что я уже нарисовал (т. Е. у него есть глубина, которая отдаляет его) Я могу пропустить его рисование, поскольку оно заблокировано.Если новый объект для рисования ближе, я рисую его и обновляю буфер глубины новым, более близким значением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top