Блок отображения текстуры

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

A блок наложения текстуры (TMU) - это компонент в современных блоках обработки графики (GPU). Исторически это был отдельный физический процессор. TMU может вращать, изменять размер и искажать растровое изображение (выполняя выборку текстуры ) для размещения на произвольной плоскости данной 3D-модели как текстура. Этот процесс называется наложение текстуры. В современных видеокартах он реализован как дискретный этап в графическом конвейере , тогда как при первом представлении он был реализован как отдельный процессор, например как показано на видеокарте Voodoo2.

Содержание
  • 1 Фон и история
  • 2 Геометрия
  • 3 Скорость заполнения текстуры
  • 4 Подробности
    • 4.1 Блоки отображения текстуры (TMU)
    • 4.2 Конвейеры
    • 4.3 Конвейеры вывода рендеринга (ROP)
    • 4.4 Использование в GPGPU
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Предпосылки и история

TMU возник из-за вычислительных требований для выборки и преобразование плоского изображения (в виде карты текстуры) под правильный угол и перспективу, которые должны быть в трехмерном пространстве. Вычислительная операция представляет собой большое матричное умножение, с которым процессоры того времени (ранние Pentiums) не могли справиться при приемлемой производительности.

В 2013 году блоки TMU являются частью конвейера шейдера и отделены от конвейеров вывода рендеринга (ROP). Например, в графическом процессоре AMD Cypress каждый конвейер шейдеров (их 20) имеет четыре TMU, что дает графическому процессору 80 TMU. Это делается разработчиками микросхем, чтобы тесно связать шейдеры и текстурные движки, с которыми они будут работать.

Геометрия

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

Скорость заполнения текстуры

Для визуализации 3D-сцены текстуры отображаются поверх полигональных сеток. Это называется наложением текстуры и выполняется блоками наложения текстуры (TMU) на видеокарте. Скорость заполнения текстуры - это мера скорости, с которой конкретная карта может выполнять наложение текстуры.

Хотя обработка пиксельного шейдера становится все более важной, это число все еще имеет определенный вес. Лучшим примером этого является X1600 XT. Эта карта имеет соотношение процессоров пиксельных шейдеров / блоков отображения текстуры 3: 1. В результате X1600 XT обеспечивает более низкую производительность по сравнению с другими графическими процессорами той же эпохи и класса (такими как 7600GT от nVidia). В среднем диапазоне отображение текстуры все еще может быть узким местом. Тем не менее, на высоком уровне X1900 XTX имеет такое же соотношение 3: 1, но работает отлично, потому что разрешение экрана достигает максимума, и у него более чем достаточно возможностей наложения текстур для обработки любого дисплея.

Подробности

Блоки отображения текстур (TMU)

Текстуры необходимо адресовать и фильтровать. Эту работу выполняют блоки TMU, которые работают вместе с блоками пиксельного и вершинного шейдера. Работа TMU заключается в применении операций текстуры к пикселям. Количество текстурных блоков в графическом процессоре используется при сравнении производительности текстурирования двух разных карт. Разумно предположить, что карта с большим количеством TMU будет быстрее обрабатывать текстурную информацию. В современных графических процессорах блоки TMU содержат блоки адресации текстур (TA) и блоки фильтрации текстур (TF). Блоки адресации текстуры отображают тексели в пиксели и могут выполнять режимы адресации текстуры. Блоки фильтрации текстур дополнительно выполняют аппаратную фильтрацию текстур.

Конвейеры

Конвейеры - это архитектура видеокарты, которая дает в целом точное представление о вычислительной мощности графического процессора.

Формально термин "конвейер" не принят в качестве технического. Внутри графического процессора есть разные конвейеры, поскольку в любой момент времени выполняются отдельные функции. Исторически его называли процессором пикселей, который подключается к выделенному TMU. Geforce 3 имеет четыре пиксельных конвейера, каждый из которых имеет два TMU. Остальная часть конвейера обрабатывала такие вещи, как операции глубины и смешивания.

ATI Radeon 9700 была первой, кто сломал этот шаблон, разместив ряд механизмов вершинных шейдеров, независимых от пиксельных шейдеров. Графический процессор R300, используемый в Radeon 9700, имел четыре глобальных вершинных шейдера, но разделял остальную часть конвейера рендеринга пополам (так сказать, двухъядерный), каждую половину, называемый четырехъядерным, имел четыре пиксельных шейдера, четыре TMU и четыре ROP.

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

Вершинный шейдер уже давно был разделен, начиная с R300, но пиксельный шейдер было не так просто сделать, поскольку для работы с ним требовались данные о цвете (например, образцы текстуры), и, следовательно, требовалось тесное взаимодействие в TMU.

Упомянутая связь сохраняется и по сей день, где механизм шейдера, состоящий из блоков, способных обрабатывать данные вершин или пикселей, тесно связан с TMU, но имеет диспетчер перекрестной панели между его выходом и банком ROP.

Конвейеры вывода рендеринга (ROP)

Конвейер вывода рендеринга - это унаследованный термин, который чаще называется блок вывода рендеринга. Его задача - контролировать выборку пикселей (каждый пиксель является безразмерной точкой), поэтому он управляет сглаживанием, когда более одной выборки объединяется в один пиксель. Все визуализированные данные должны пройти через ROP, чтобы быть записанными в буфер кадра , откуда они могут быть переданы на дисплей.

Таким образом, ROP - это место, где выходные данные графического процессора собираются в растровое изображение, готовое для отображения.

Использование в GPGPU

В GPGPU, карты текстур в 1,2 или 3 измерениях могут использоваться для хранения произвольных данных. Предоставляя интерполяцию, блок отображения текстуры обеспечивает удобное средство аппроксимации произвольных функций с помощью таблиц данных.

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