Полагаю, это нужно до запуска основного прохода, в противном случае вы просто сохраните глубину основного прохода.
Предпечатная проверка
- Создание специализированных буферов, которые содержит только данные me sh, необходимые для вычисления положения (которые перемежаются со всеми непозиционными данными).
- Создание специализированных вершинных шейдеров (которые вычисляют только выходную позицию).
- Связывание программ с помощью самого простого действующего фрагментного шейдера.
Рендеринг
- Рендеринг прохода только для глубины с использованием специализированных буферов и шейдеры, маскируя все цветовые записи.
- Визуализация основного прохода с полными буферами и шейдерами.
Опции
На шаге (2) выше может быть полезно загрузить результаты глубины прохода только в качестве начальной глубины основного прохода. Это даст вам лучшую точность теста на ранних стадиях за счет повторного считывания значения глубины. Большинство мобильных графических процессоров имеют скрытое удаление поверхности, поэтому это не всегда будет net выигрыш - это зависит от вашего контента, целевого графического процессора и от того, насколько хорош ваш порядок прорисовки спереди назад.
Вы, вероятно, захотите использовать специализированные буферы (данные о местоположении, чередующиеся в одной области буфера, без чередования позиций в секунду) для основного рисования, так как многие графические процессоры оптимизируют вычисления без позиции, если примитив отбирается.
Специализированные буферы и оптимизированные шейдеры также могут использоваться для отображения теней и других подобных техник только для глубины.