Несколько целей рендеринга
В области 3D-компьютерной графики множественные цели рендеринга , или MRT, — это функция современных графических процессоров (GPU), которая позволяет программируемому конвейеру рендеринга рендерить изображения для нескольких целевых текстур рендеринга одновременно. Эти текстуры затем можно использовать в качестве входных данных для других шейдеров или в качестве текстурных карт, применяемых к 3D-моделям . Представленный OpenGL 2.0 и Direct3D 9, MRT может оказаться неоценимым для 3D-приложений реального времени, таких как видеоигры. До появления MRT программисту приходилось давать команду графическому процессору, чтобы он отрисовал 3D-сцену один раз для каждой целевой текстуры рендеринга, что приводило к избыточным преобразованиям вершин, которые в программе реального времени должны были работать как можно быстрее. может занять довольно много времени. С помощью MRT программист создает пиксельный шейдер , который возвращает выходное значение для каждой цели рендеринга. Затем этот пиксельный шейдер выполняет рендеринг для всех целей рендеринга с помощью одной команды рисования.
Обычное использование MRT — отложенное затенение , процесс затенения, который, в отличие от прямого затенения , выполняет расчеты освещения для всей 3D-сцены одновременно, а не для каждого отдельного объекта. Чтобы сделать это в режиме реального времени, MRT используется для хранения необходимой информации для расчета освещения в нескольких целях рендеринга, которые затем используются после того, как вся сцена была нарисована, для расчета освещенного конечного изображения. Обычно одна цель рендеринга содержит информацию о цвете и поверхности объектов, а другая содержит нормали поверхности и информацию о глубине сцены, которые используются для расчета отражения света. Дополнительные цели рендеринга можно использовать для хранения такой информации, как зеркальность поверхности и данные окружающего затенения .
См. также
[ редактировать ]- Отложенное затенение — процесс затенения , который в значительной степени зависит от MRT для работы в режиме реального времени.