Лекция
Это окончание невероятной информации про рендеринг .
...
(если они должны создавать красивые изображения) должны использовать какой-либо фильтр нижних частот в функции изображения для удаления высоких частот, процесс, называемый сглаживанием .
Рендеринг обычно ограничен доступной вычислительной мощностью и пропускной способностью памяти , поэтому было разработано специализированное оборудование для его ускорения («ускорения»), особенно для рендеринга в реальном времени . Аппаратные функции, такие как кадровый буфер для растровой графики, необходимы для плавного отображения вывода рендеринга в реальном времени.
В эпоху векторных мониторов (также называемых каллиграфическими дисплеями ) блок обработки отображения (DPU) представлял собой специализированный ЦП или сопроцессор , который поддерживал список визуальных элементов и непрерывно перерисовывал их на экране, управляя электронным лучом . Усовершенствованные DPU, такие как Line Drawing System-1 компании Evans & Sutherland (и более поздние модели, выпущенные в 1980-х годах), включали функции преобразования трехмерных координат для ускорения рендеринга каркасных изображений . Evans & Sutherland также создали проекционную систему для планетария Digistar , которая представляла собой векторный дисплей, который мог отображать как звезды, так и каркасную графику (векторные Digistar и Digistar II использовались во многих планетариях, и некоторые из них, возможно, все еще находятся в эксплуатации). Прототип Digistar использовался для визуализации 3D-звездных полей для фильма «Звездный путь 2: Гнев Хана» — одних из первых 3D-последовательностей компьютерной графики, когда-либо показанных в художественном фильме.
В 1970-х и начале 1980-х годов рендеринг 3D-графики с затенением обычно реализовывался на компьютерах общего назначения, таких как PDP-10 , используемый исследователями в Университете Юты . Было трудно ускорить с помощью специализированного оборудования, поскольку оно включает в себя конвейер сложных шагов, требующий адресации данных, принятия решений и вычислительных возможностей, обычно предоставляемых только центральными процессорами (хотя были предложены специальные схемы для ускорения определенных операций ). Суперкомпьютеры или специально разработанные многопроцессорные компьютеры или кластеры иногда использовались для трассировки лучей. В 1981 году Джеймс Х. Кларк и Марк Ханна разработали Geometry Engine, чип VLSI для выполнения некоторых шагов конвейера 3D-растеризации, и основали компанию Silicon Graphics (SGI) для коммерциализации этой технологии.
Домашние компьютеры и игровые консоли в 1980-х годах содержали графические сопроцессоры , которые были способны прокручивать и заполнять области дисплея, а также рисовать спрайты и линии, хотя они не были полезны для рендеринга реалистичных изображений. К концу 1980-х годов начали появляться видеокарты для ПК и аркадные игры с ускорением 3D-рендеринга, а в 1990-х годах такая технология стала обычным явлением. Сегодня даже маломощные мобильные процессоры обычно включают функции ускорения 3D-графики.
3D-графические ускорители 1990 -х годов превратились в современные графические процессоры. Графические процессоры являются процессорами общего назначения, как и центральные процессоры , но они предназначены для задач, которые можно разбить на множество небольших, похожих, в основном независимых подзадач (например, рендеринг отдельных пикселей) и выполнять параллельно . Это означает, что графический процессор может ускорить любой алгоритм рендеринга, который можно разбить на подзадачи таким образом, в отличие от 3D-ускорителей 1990-х годов, которые были разработаны только для ускорения определенных алгоритмов растеризации и простых эффектов затенения и освещения (хотя трюки могли использоваться для выполнения более общих вычислений).
Из-за своего происхождения графические процессоры, как правило, по-прежнему обеспечивают специализированное аппаратное ускорение для некоторых этапов традиционного конвейера 3D-растеризации , включая удаление скрытых поверхностей с использованием z-буфера и текстурное отображение с помощью MIP-карт , но эти функции больше не всегда используются. В современных графических процессорах есть функции для ускорения поиска пересечений лучей с иерархией ограничивающего объема , чтобы помочь ускорить все варианты трассировки лучей и трассировки пути , а также функции ускорения нейронных сетей , иногда полезные для рендеринга.
Графические процессоры обычно интегрируются с системами памяти с высокой пропускной способностью для поддержки требований к пропускной способности чтения и записи для рендеринга высокого разрешения в реальном времени, особенно когда для рендеринга кадра требуется несколько проходов, однако задержка памяти может быть выше, чем у центрального процессора, что может быть проблемой, если критический путь в алгоритме включает много обращений к памяти. Конструкция графического процессора принимает высокую задержку как неизбежную (отчасти потому, что большое количество потоков совместно используют шину памяти ) и пытается «скрыть» ее, эффективно переключаясь между потоками, поэтому другой поток может выполнять вычисления, пока первый поток ожидает завершения чтения или записи.
Алгоритмы рендеринга будут работать эффективно на GPU только в том случае, если их можно реализовать с использованием небольших групп потоков, которые выполняют в основном одни и те же операции. Вот пример кода, который соответствует этому требованию: при рендеринге небольшого квадрата пикселей в простом изображении с трассировкой лучей все потоки, скорее всего, будут пересекать лучи с одним и тем же объектом и выполнять одни и те же вычисления освещения. По причинам производительности и архитектуры графические процессоры запускают группы из примерно 16-64 потоков, называемых варпами или волновыми фронтами, в режиме lock-step (все потоки в группе выполняют одни и те же инструкции одновременно). Если не всем потокам в группе нужно запускать определенные блоки кода (из-за условий), то некоторые потоки будут простаивать, или результаты их вычислений будут отброшены, что приведет к снижению производительности.
Ниже приведена приблизительная хронология часто упоминаемых методов визуализации, включая области текущих исследований. Обратите внимание, что даже в случаях, когда идея упоминалась в конкретной статье, почти всегда было несколько исследователей или групп, работающих в той же области (включая более ранние связанные работы). Когда метод предлагается впервые, он часто бывает очень неэффективным, и требуются дополнительные исследования и практические усилия, чтобы превратить его в полезную технику.
Список сосредоточен на академических исследованиях и не включает аппаратное обеспечение. (Более подробную историю см. в разделе #Внешние ссылки , а также в разделах Компьютерная графика#История и Золотой_век_аркадных_видеоигр#Технологии .)
Исследование, описанное в статье про рендеринг , подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое рендеринг и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Компьютерная графика
Часть 1 Рендеринг (компьютерная графика)
Часть 2 Научно-математическая основа Непредвзятая визуализация - Рендеринг (компьютерная графика)
Часть 3 Аппаратное обеспечение - Рендеринг (компьютерная графика)
Комментарии
Оставить комментарий
Компьютерная графика
Термины: Компьютерная графика