Проблему рендеринга 3D-графики можно концептуально представить как нахождение всех пересечений между набором « примитивов » (обычно треугольников или многоугольников ) и набором «лучей» (обычно одного или нескольких на пиксель). [1]
Оба подхода имеют свои преимущества и недостатки. Растеризация может быть выполнена с использованием устройств, основанных на потоковой вычислительной модели, по одному треугольнику за раз, и доступ ко всей сцене необходим только один раз. [a] Недостатком растеризации является то, что нелокальные эффекты, необходимые для точного моделирования сцены, такие как отражения и тени , сложны; а преломления [2] практически невозможно вычислить.
Алгоритм трассировки лучей изначально подходит для масштабирования путем распараллеливания отдельных рендеров лучей. [3] Однако, что-либо, кроме ray casting, требует рекурсии алгоритма трассировки лучей (и случайного доступа к графу сцены ) для завершения их анализа, [4] поскольку отраженные, преломленные и рассеянные лучи требуют, чтобы различные части сцены были повторно доступны способом, который нелегко предсказать. Но он может легко вычислять различные виды физически правильных эффектов , обеспечивая гораздо более реалистичное впечатление, чем растеризация. [b]
Сложность хорошо реализованного алгоритма трассировки лучей масштабируется логарифмически; [c] это связано с тем, что объекты (треугольники и наборы треугольников) помещаются в деревья BSP или аналогичные структуры и анализируются только в том случае, если луч пересекается с ограничивающим объемом двоичного пространственного разбиения. [5] [d]
Реализации
Были созданы различные реализации аппаратного обеспечения трассировки лучей, как экспериментальные, так и коммерческие:
(1995) Advanced Rendering Technology (ART) основана [6] в Кембридже, Великобритания, на основе докторской диссертации 1994 года для производства специализированного кремниевого чипа для трассировки лучей (первоначально чип "AR250", который ускорял пересечение луча с треугольником, обход ограничивающего прямоугольника и затенение), используя сетевой ускоритель "RenderDrive" для автономного рендеринга. [7] Продукты были впервые отправлены клиентам в 1998 году. [8] Программное обеспечение обеспечивало интеграцию с форматами данных Autodesk Maya и Max и использовало язык описания сцен Renderman для отправки данных процессорам (формат файла .RIB или Renderman Interface Bytestream). [9] ART была переименована в ART-VPS в 2002 году. [10] По состоянию на 2010 год ART-VPS больше не производит оборудование для трассировки лучей, но продолжает производить программное обеспечение для рендеринга. [10]
(1996) Исследователи из Принстонского университета предложили использовать цифровые сигнальные процессоры для создания аппаратного блока для ускорения трассировки лучей, названного «TigerSHARK». [11]
(2002) Лаборатория компьютерной графики в Университете Саара под руководством доктора технических наук Филиппа Слусаллека создала прототип оборудования для трассировки лучей, включая чип SaarCOR (Saarbrücken's Coherence Optimized Ray Tracer) на основе ПЛИС с фиксированными данными функций [15] [16] [17] и более продвинутый программируемый (2005) процессор, Ray Processing Unit (RPU) [18].
(2009–2010) Intel [19] представила свой прототип графического процессора «Larrabee» и микроконтроллер Knights Ferry на форуме разработчиков Intel в 2009 году с демонстрацией трассировки лучей в реальном времени.
Caustic Graphics [20] выпустила подключаемую карту, "CausticOne" (2009), [21] , которая ускоряла глобальное освещение и другие процессы рендеринга на основе лучей при соединении с ПК CPU и GPU. Аппаратное обеспечение предназначено для организации рассеянных лучей (обычно создаваемых проблемами глобального освещения) в более когерентные наборы (с меньшим пространственным или угловым разбросом) для дальнейшей обработки внешним процессором. [22]
Siliconarts [23] разработала специализированное оборудование для трассировки лучей в реальном времени (2010). Анонсирована RayCore (2011), которая является первой в мире полупроводниковой IP для трассировки лучей в реальном времени.
В августе 2013 года Imagination Technologies , после приобретения Caustic Graphics , выпустила сменные платы Caustic Professional R2500 и R2100, содержащие блоки трассировки лучей RT2 (RTU). Каждый RTU был способен вычислять до 50 миллионов некогерентных лучей в секунду. [24]
В январе 2018 года компания Nvidia в партнерстве с Microsoft DirectX анонсировала библиотеку разработчиков Nvidia RTX, [25] которая обещала быстрые программные решения для трассировки лучей на графических процессорах поколения Volta . [26]
В сентябре 2018 года компания Nvidia представила свои графические процессоры GeForce RTX и Quadro RTX, основанные на архитектуре Turing , с аппаратно-ускоренной трассировкой лучей с использованием отдельного функционального блока, публично называемого «ядром RT». Этот блок в некоторой степени сопоставим с текстурным блоком по размеру, задержке и интерфейсу с ядром процессора. Блок включает обход BVH , декомпрессию сжатых узлов BVH, тестирование пересечения луча AABB и тестирование пересечения луча с треугольником. [27] GeForce RTX 2080 и 2080 Ti стали первым ориентированным на потребителя брендом видеокарт, который может выполнять трассировку лучей в реальном времени. [28]
В октябре 2020 года AMD объявила о дальнейшей информации относительно «обновления» микроархитектуры RDNA . По данным компании, микроархитектура RDNA 2 поддерживает аппаратно ускоренную трассировку лучей в реальном времени, состоящую из декодирования узлов BVH, тестирования пересечения луча с AABB и тестирования пересечения луча с треугольником. [29] [30]
В 2022 году Intel выпустила графический процессор Arc Alchemist [31] [32] [33] , в котором графический процессор оснащен ядром ускорения трассировки лучей, производительность которого сопоставима с производительностью графических процессоров среднего класса серии RTX 3000. [34]
4 ноября 2021 года компания Imagination Technologies анонсировала свой графический процессор IMG CXT с аппаратным ускорением трассировки лучей. [35] [36]
18 января 2022 года Samsung анонсировала свою SoC Exynos 2200 AP с аппаратным ускорением трассировки лучей на базе архитектуры графического процессора AMD RDNA2. [37]
12 сентября 2023 года Apple анонсировала свой Apple A17 с аппаратно ускоренной трассировкой лучей. [41]
Примечания
^ Для дополнительных визуализаций, таких как тени или отражения, например, создаваемые большим плоским водоемом, для каждого эффекта требуется дополнительный проход графика сцены.
^ Методы растеризации способны легко генерировать реалистичные тени (включая тени, создаваемые частично прозрачными объектами) и плоские отражения (по состоянию на 2010 год), но не позволяют легко реализовать отражения от неплоских поверхностей (за исключением приближений с использованием нормальных карт ) или преломления.
^ То есть, если X — это количество треугольников, то количество вычислений для завершения сцены пропорционально log(X).
^ Те же методы могут использоваться при растеризации; в упрощенной реализации отсечение ограничивается теми разделами BSP, которые лежат в гораздо большем усеченном пространстве видимости (более продвинутые реализации, включая те, которые реализуют отсечение окклюзии или предикатный рендеринг, масштабируются лучше, чем линейно, для сложных (особенно сильно окклюдированных) сцен (примечание в общих API: DirectX 10 D3D10_QUERY_OCCLUSION_PREDICATE [1], в OpenGL 3.0 HP_occlusion_query ). При трассировке лучей усеченный пространство видимости заменяется объемом, ограниченным одним лучом (или пучком лучей).
Ссылки
^ Введение в трассировку лучей в реальном времени [ постоянная неработающая ссылка ] Заметки к курсу, курс 41, Филипп Слусаллек, Питер Ширли , Билл Марк, Гордон Столл, Инго Вальд, SIGGRAPH 2005, (презентация PowerPoint), слайд 26: Сравнение растеризации и трассировки лучей (определения) graphics.cg.uni-saarland.de
^ Исследование Криса Уаймана: Интерактивные преломления. Архивировано 2 июля 2010 г. на кафедре компьютерных наук Wayback Machine в Университете Айовы, www.cs.uiowa.edu
^ SaarCOR — Аппаратная архитектура для трассировки лучей, Йорг Шмиттлер, Инго Вальд, Филипп Слусаллек, Раздел 2, «Предыдущая работа»
^ SaarCOR — Аппаратная архитектура для трассировки лучей, Йорг Шмиттлер, Инго Вальд, Филипп Слусаллек, Раздел 3, «Алгоритм трассировки лучей»
↑ Трассировка лучей и игры — год спустя Дэниел Пол, 17/1/2008, через "PCperspective", www.pcper.com
^ Холодные чипсы: RenderDrive от ART
^ Сайт компании ART Архивировано 27 декабря 1996 г. на Wayback Machine www.art.co.uk
^ Пресс-релиз ART Архивировано 13 мая 1998 г. на Wayback Machine ART внедряет технологию ускорения рендеринга с трассировкой лучей
^ ВСЕ ОБ ARTVPS, PURE CARDS, RENDERDRIVES и RAYBOX Архивировано 14 апреля 2009 г. на Wayback Machine Марк Сегасби (Protograph Ltd), www.protograph.co.uk
^ ab О ArtVPS www.artvps
^ Аппаратно-ускоренная система трассировки лучей Грег Хамфрис, К. Скотт Ананян (независимая работа), Факультет компьютерных наук, Принстонский университет, 14/5/1996, cscott.net .
^ Микросхема vg500 Real-Time Ray-Casting ASIC. Архивировано 20 ноября 2008 г. на Wayback Machine. Ханспетер Пфистер, MERL - Исследовательская лаборатория Mitsubishi Electric, Кембридж, Массачусетс (США) www.hotchips.org
^ Hanspeter Pfister; Jan Hardenbergh; Jim Knittely; Hugh Lauery; Larry Seiler (апрель 1999 г.). "The VolumePro Real-Time Ray-Casting System" (PDF) . Mitsubishi Electric. CiteSeerX 10.1.1.69.4091 . Архивировано из оригинала (PDF) 2011-06-16 . Получено 2010-02-27 . {{cite journal}}: Цитировать журнал требует |journal=( помощь )
^ VIZARD II: интерактивная система объемного рендеринга на базе FPGA. Архивировано 21 ноября 2008 г. на Wayback Machine. Урс Канус, Грегор Ветекам, Йоханнес Хирхе, Михаэль Мейсснер, Тюбингенский университет / Philips Research Hamburg, Графическое оборудование (2002), стр. 1–11, через www.doggetts.org
^ «SaarCOR — Аппаратная архитектура для трассировки лучей».{{cite journal}}: Цитировать журнал требует |journal=( помощь )
^ Schmittler, Jörg; Wald, Ingo; Slusallek, Philipp (2002). "SaarCOR —A Hardware Architecture for Ray Tracing" (PDF) . Графическое оборудование . Германия: Computer Graphics Group, Saarland University: 1–11. Архивировано из оригинала (PDF) 2011-08-14 . Получено 2011-11-22 .
^ Йорг Шмиттлер; Свен Вуп; Даниэль Вагнер; Вольфганг Дж. Пауль; Филипп Слусаллек (2004). "Трассировка лучей в реальном времени динамических сцен на чипе FPGA". Графическое оборудование . Компьютерные науки, Университет Саара, Германия. CiteSeerX 10.1.1.72.2947 .
^ Свен Вуп; Йорг Шмиттлер; Филипп Слусаллек. "RPU: Программируемый блок обработки лучей для трассировки лучей в реальном времени" (PDF) . Университет Саара. Архивировано из оригинала (PDF) 2012-04-15 . Получено 2011-11-22 .{{cite journal}}: Цитировать журнал требует |journal=( помощь )
^ "Демонстрация графики Шона Мэлони IDF 2009 Larrabee - YouTube". www.youtube.com . 22 сентября 2009 г. Архивировано из оригинала 21.12.2021 . Получено 06.01.2021 .
^ Новое изобретение трассировки лучей 15/7/2009, интервью Джонатана Эриксона с Джеймсом МакКомбом из Caustic Graphics, www.drdobbs.com
^ Сайт компании Siliconarts www.siliconarts.com
^ "Обзор будущего трассировки лучей: ускоритель R2500 от Caustic наконец-то приближает нас к трассировке лучей в реальном времени | ExtremeTech". ExtremeTech . 2013-08-01 . Получено 2015-10-05 .
^ О, Нейт. «NVIDIA анонсирует технологию RTX: ускорение трассировки лучей в реальном времени для графических процессоров Volta и более поздних версий» . Получено 20 апреля 2018 г.
^ Такахаши, Дин (2018-08-20). "Nvidia представляет графические чипы GeForce RTX для игр с трассировкой лучей в реальном времени". VentureBeat . Архивировано из оригинала 2022-11-13 . Получено 2022-11-13 .
^ Джадд, Уилл (28 октября 2020 г.). «AMD представляет три видеокарты Radeon 6000 с трассировкой лучей и производительностью, превосходящей RTX». Eurogamer . Получено 28 октября 2020 г. .
^ "AMD анонсирует презентации Ryzen "Zen 3" и Radeon "RDNA2" в октябре: начинается новое путешествие". anandtech.com . AnandTech . 2020-09-09 . Получено 2020-10-25 .
^ "Intel официально запускает настольную видеокарту Arc A380 в Китае по цене 153 доллара США". VideoCardz.com . Получено 13.12.2022 .
^ обновлено, Марк Тайсон последний раз (2022-09-28). "Видеокарта Intel Arc A310 тихо становится официальной". Tom's Hardware . Получено 2022-12-13 .
^ "Видеокарты Intel Arc A770 и Arc A750 теперь доступны для покупки от $289". XDA Developers . 2022-10-12 . Получено 2022-12-13 .
^ «Работает ли трассировка лучей на графических процессорах Intel Arc?». Digital Trends . 2022-10-08 . Получено 2022-12-13 .
^ 93digital (2021-11-04). "Imagination запускает самый передовой графический процессор для трассировки лучей". Imagination . Получено 2023-09-17 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
^ "Samsung представляет революционный процессор Exynos 2200 с графическим процессором Xclipse на базе архитектуры AMD RDNA 2". news.samsung.com . Получено 17 сентября 2023 г.
^ "Игровая производительность раскрыта с новыми графическими процессорами Arm - Анонсы - Блоги сообщества Arm - Сообщество Arm". community.arm.com . 2022-06-28 . Получено 2023-09-17 .
^ «Snapdragon 8 Gen 2 определяет новый стандарт для премиальных смартфонов». www.qualcomm.com . Получено 17 сентября 2023 г.
^ Боншор, Райан Смит, Гэвин. «Прямой эфир мероприятия Apple 2023 Fall iPhone Event (начало в 10:00 по тихоокеанскому времени/17:00 по всемирному координированному времени)». www.anandtech.com . Получено 17 сентября 2023 г.{{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
Дальнейшее чтение
Современные технологии интерактивной трассировки лучей Инго Вальд и Филипп Слусаллек, Группа компьютерной графики, Университет Саара, Обзорная статья за 2001 год