Мозаичный рендеринг

редактировать

Мозаичный рендеринг - это процесс разделения изображения компьютерной графики на обычную сетку в оптическом пространстве и рендеринг каждого участка сетки или тайла отдельно. Преимущество этой конструкции состоит в том, что объем памяти и пропускная способность уменьшены по сравнению с системами рендеринга немедленного режима, которые отрисовывают весь кадр сразу. Это сделало системы рендеринга тайлов особенно распространенными для маломощных портативных устройств. Тайловый рендеринг иногда называют архитектурой «сортировки по центру», потому что он выполняет сортировку геометрии в середине графического конвейера, а не ближе к концу.

Содержание
  • 1 Базовая концепция
  • 2 Ранняя работа
  • 3 Коммерческие продукты - Настольные ПК и консоли
  • 4 Коммерческие продукты - Встроенные
  • 5 См. Также
  • 6 Ссылки
Базовая концепция

Создание 3D-изображения для отображения состоит из серии шагов. Сначала в память загружаются отображаемые объекты из отдельных моделей. Затем система применяет математические функции для преобразования моделей в общую систему координат, мировоззрение. С этой точки зрения создается серия многоугольников (обычно треугольников), которые приблизительно соответствуют исходным моделям, видимым с определенной точки обзора, то есть камеры. Затем система композитинга создает изображение, визуализируя треугольники и применяя текстуры снаружи. Текстуры - это небольшие изображения, которые наносятся на треугольники для придания реализма. Полученное изображение затем комбинируется с различными специальными эффектами и перемещается в буфер кадра , который видеооборудование затем сканирует для создания отображаемого изображения. Этот базовый концептуальный макет известен как конвейер отображения.

Каждый из этих шагов увеличивает объем памяти, необходимый для хранения итогового изображения. К тому времени, когда он достигает конца конвейера, изображения становятся настолько большими, что типичные конструкции видеокарт часто используют специализированную высокоскоростную память и очень быструю компьютерную шину для обеспечения необходимой пропускной способности. для перемещения изображения в различные субкомпоненты конвейера и из них. Такая поддержка возможна на выделенных видеокартах, но по мере того, как бюджеты на мощность и размер становятся более ограниченными, обеспечение достаточной пропускной способности становится дорогостоящим с точки зрения дизайна.

Тайловые средства визуализации решают эту проблему, разбивая изображение на разделы, известные как плитки, и визуализируя каждый отдельно. Это уменьшает объем памяти, необходимый на промежуточных этапах, и объем данных, перемещаемых в любой момент времени. Для этого система сортирует треугольники, составляющие геометрию, по местоположению, что позволяет быстро находить, какие треугольники перекрывают границы плитки. Затем он загружает только эти треугольники в конвейер рендеринга, выполняет различные операции рендеринга в GPU и отправляет результат в буфер кадра. Могут использоваться очень маленькие плитки, 16 × 16 и 32 × 32 пикселя являются популярными размерами плиток, что также снижает объем памяти и пропускную способность, необходимые на внутренних этапах. А поскольку каждая плитка независима, она, естественно, поддается простому распараллеливанию.

В типичном тайловом рендерере геометрия сначала должна быть преобразована в экранное пространство и назначена тайлам экранного пространства. Это требует некоторого хранилища для списков геометрии для каждой плитки. В ранних плиточных системах это выполнялось CPU, но все современное оборудование содержит оборудование для ускорения этого шага. Список геометрии также можно отсортировать спереди назад, что позволяет графическому процессору использовать удаление скрытой поверхности, чтобы избежать обработки пикселей, которые скрыты за другими, экономя пропускную способность памяти для ненужного поиска текстуры.

Есть два основных недостатка плиточного подхода. Во-первых, некоторые треугольники можно нарисовать несколько раз, если они перекрывают несколько плиток. Это означает, что общее время рендеринга будет больше, чем в системе рендеринга в немедленном режиме. Также возможны проблемы, когда плитки нужно сшить вместе, чтобы получилось законченное изображение, но эта проблема давно решена. Сложнее решить то, что некоторые методы изображения применяются к кадру в целом, и их трудно реализовать в мозаичной визуализации, где идея состоит в том, чтобы не работать со всем кадром. Эти компромиссы хорошо известны и имеют незначительные последствия для систем, в которых преимущества полезны; Системы плиточного рендеринга широко используются в портативных вычислительных устройствах.

Не следует путать мозаичный рендеринг со схемами адресации мозаичного / нелинейного кадрового буфера, которые делают соседние пиксели смежными в памяти. Эти схемы адресации используются множеством архитектур, а не только плиточными модулями визуализации.

Ранняя работа

Большая часть ранних работ по мозаичному рендерингу была сделана в рамках архитектуры Pixel Planes 5 (1989).

Проект Pixel Planes 5 подтвердил тайловый подход и изобрел множество техник, которые теперь считаются стандартными для тайловых рендереров. Эта работа наиболее часто цитируется в других публикациях в данной области.

Тайловый подход также был известен в начале истории программного рендеринга. Реализации рендеринга по Рейесу часто делят изображение на «сегменты мозаики».

Коммерческие продукты - настольные ПК и консоли

На раннем этапе разработки графических процессоров для настольных ПК несколько компаний разработали мозаичные архитектуры. Со временем они были в значительной степени вытеснены графическими процессорами немедленного режима с быстрыми настраиваемыми системами внешней памяти.

Основные примеры этого:

Примеры не мозаичных архитектур, в которых используются большие буферы на кристалле:

  • Xbox 360 (2005): GPU содержит встроенные 10 MiB eDRAM ; этого недостаточно, чтобы удерживать растр для всего изображения 1280 × 720 с 4 × мультисэмпловым сглаживанием, поэтому мозаичное решение накладывается при работе с разрешениями HD и включен 4 × MSAA.
  • Xbox One (2013 г.): GPU содержит встроенные 32 MiB eSRAM, которые можно использовать для хранения всего или части изображения. Это не мозаичная архитектура, но она достаточно гибкая, чтобы разработчики программного обеспечения могли эмулировать мозаичный рендеринг.
Коммерческие продукты - встроенные

Из-за относительно низкой пропускной способности внешней памяти и небольшого количества встроенной памяти Необходимо, мозаичный рендеринг - популярная технология для встроенных графических процессоров. Текущие примеры включают:

рендеринг в немедленном режиме на основе плиток (TBIM):

  • ARM Mali series.
  • Qualcomm Adreno (серии 300 и новее также могут динамически переключаться в режим немедленного / прямого рендеринга через FlexRender).

Тайловый отложенный рендеринг (TBDR):

Vivante производит мобильные графические процессоры, которые имеют тесно связанную память с буфером кадров (аналогично графическому процессору Xbox 360, описанному выше). Хотя это можно использовать для визуализации частей экрана, большой размер визуализируемых областей означает, что они обычно не описываются как использующие архитектуру на основе плиток.

См. Также
Ссылки
Последняя правка сделана 2021-06-11 12:07:19
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте