Это имеет смысл в некоторых сценариях.Вот два:
Вы можете использовать очень дорогие пиксельные шейдеры для своей графики.Если вы сделаете это, вы хотите минимизировать количество пикселей, которые должны быть затенены.Для этого вы можете сначала визуализировать вашу сцену только в буфер глубины (отключить запись в буфер цвета).Затем вы устанавливаете буфер глубины только для чтения и визуализируете всю свою геометрию с включенной записью цветов и равным режиму глубины сравнения.Это гарантирует, что каждый пиксель на экране будет нарисован ровно один раз, и вы можете использовать очень дорогих пиксельных шейдеров, сохраняя при этом хорошую частоту кадров.
проблема прозрачности: если вы визуализируете прозрачные (альфа-смешанные) треугольники, порядок рисования имеет существенное значение для конечного изображения.Чтобы получить красивый результат, проверенный и надежный способ - это сначала отобразить всю непрозрачную геометрию.Затем отключите запись в буфер глубины и визуализируйте все прозрачные материалы, отсортированные сзади вперед.Это гарантирует, что ваши прозрачные многоугольники всегда нарисованы по порядку, и они не мешают непрозрачному материалу.
Представьте себе этот случай:
Камера находится на уличной сцене, и вы смотрите на магазин с окном и несколькими приятнымивещи внутри магазина.
Сначала вы рисуете прозрачное окно - с включенной записью глубины.
Затем вы рисуете интерьер магазина. Из-за z-буфер все пиксели будут отброшены, потому что графическая карта думает, что пиксели не видны.
В итоге вы получите совершенно неправильное изображение: окно перед ..... ну ... все, что было в вашей графической памяти до того, как вы начали рендеринг.
Как сказано: Чтобы обойти это, вы сначала визуализируете все ваши непрозрачные вещи (интерьер магазина) стест и глубина записи на.Затем вы визуализируете окно с проверкой глубины и списанием глубины.Это решит эту проблему.
Вот пример того, насколько ужасными могут быть такие вещи.Это показывает еще один способ неправильной обработки прозрачности (внимательнее посмотрите на ковер).