Аппаратное обеспечение трассировки лучей - это компьютерное оборудование специального назначения, предназначенное для ускорения вычислений трассировки лучей .
Введение: трассировка лучей и растеризация
Проблема рендеринга 3D-графики может быть концептуально представлена как нахождение всех пересечений между набором « примитивов » (обычно треугольников или многоугольников ) и набором «лучей» (обычно один или несколько на пиксель). [1]
До 2010 года все типовые платы графического ускорения, называемые графическими процессорами (GPU), использовали алгоритмы растеризации . Трассировки лучей алгоритма решает рендеринг проблему по-другому. На каждом шаге он находит все пересечения луча с набором соответствующих примитивов сцены.
У обоих подходов есть свои преимущества и недостатки. Растеризация может выполняться с использованием устройств, основанных на модели потоковых вычислений , по одному треугольнику за раз, а доступ ко всей сцене требуется только один раз. [a] Недостатком растеризации является то, что нелокальные эффекты, необходимые для точной симуляции сцены, такие как отражения и тени , затруднены; и преломления [2] почти невозможно вычислить.
Алгоритм трассировки лучей по своей сути подходит для масштабирования путем распараллеливания отдельных визуализаций лучей. [3] Однако все, кроме литья лучей, требует рекурсии алгоритма трассировки лучей (и произвольного доступа к графу сцены ) для завершения анализа, [4] поскольку отраженные, преломленные и рассеянные лучи требуют, чтобы различные части сцены были повторно - доступ к нему нелегко предсказать. Но он может легко вычислять различные виды физически правильных эффектов , обеспечивая гораздо более реалистичное впечатление, чем растеризация. [b]
Сложность хорошо реализованного алгоритма трассировки лучей логарифмически масштабируется; [c] это связано с тем, что объекты (треугольники и наборы треугольников) помещаются в BSP-деревья или аналогичные структуры и анализируются только в том случае, если луч пересекает ограничивающий объем раздела двоичного пространства. [5] [d]
Реализации
Были созданы различные реализации оборудования для трассировки лучей, как экспериментальные, так и коммерческие:
- (1996) Исследователи из Принстонского университета предложили использовать DSP для создания аппаратного модуля для ускорения трассировки лучей, названного «TigerSHARK». [6]
- Реализации объемного рендеринга с использованием алгоритмов трассировки лучей на специализированном оборудовании были выполнены в 1999 году Ханспетером Пфистером [7] и исследователями из Mitsubishi Electric Research Laboratories . [8] с системой на основе ASIC vg500 / VolumePro и в 2002 году с FPGA исследователями из Тюбингенского университета с VIZARD II [9]
- (2002) Лаборатория компьютерной графики в Саарландском университете, возглавляемая доктором -Ингом Слусаллеком, создала прототип оборудования для трассировки лучей, в том числе чип SaarCOR с фиксированной функцией на основе ПЛИС, управляемый данными (Saarbrücken's Coherence Optimized Ray Tracer) [10] [11] [12] и более продвинутый программируемый (2005) процессор, Ray Processing Unit (RPU) [13]
- (2002–2009) Компания ART VPS (основана в 2002 году [14] ), расположенная в Великобритании, продавала оборудование для трассировки лучей для офф-лайн рендеринга. Аппаратное обеспечение использовало несколько специализированных процессоров, которые ускоряли тесты пересечения лучей и треугольников. Программное обеспечение обеспечивает интеграцию с форматами данных Autodesk Maya и Max и использует язык описания сцены Renderman для отправки данных в процессоры (формат файлов .RIB или Renderman Interface Bytestream). [15] С 2010 года ARTVPS больше не производит оборудование для трассировки лучей, но продолжает выпускать программное обеспечение для рендеринга. [14]
- (2009–2010) Intel [16] продемонстрировала свой прототип GPU «Larrabee» и Knights Ferry MIC на форуме разработчиков Intel в 2009 году с демонстрацией трассировки лучей в реальном времени.
- Siliconarts [17] разработала специальное оборудование для трассировки лучей в реальном времени (2010 г.). Был анонсирован RayCore (2011), первая в мире полупроводниковая IP-технология с трассировкой лучей в реальном времени.
- Caustic Graphics [18] выпустила сменную карту CausticOne (2010), которая ускоряет глобальное освещение и другие процессы рендеринга на основе лучей при подключении к процессору и графическому процессору ПК. Аппаратное обеспечение предназначено для организации рассеянных лучей (обычно возникающих из-за проблем глобального освещения) в более когерентные наборы (меньший пространственный или угловой разброс) для дальнейшей обработки внешним процессором. [19]
- Imagination Technologies, после приобретения Caustic Graphics, произвела съемные карты R2500 и R2100 для Caustic Professional, содержащие блоки трассировки лучей RT2 (RTU). Каждый RTU мог рассчитывать до 50 миллионов некогерентных лучей в секунду. [20]
- Nvidia в партнерстве с Microsoft DirectX анонсировала в 2018 году библиотеку для разработчиков Nvidia RTX [21] , которая обещала решения для быстрой трассировки лучей в реальном времени на базе аппаратной ускоренной трассировки лучей (тензорные ядра ASIC), присутствующие в графических процессорах поколения Volta . [22]
- В октябре 2020 года AMD анонсировала дополнительную информацию об «обновлении» микроархитектуры RDNA . По заявлению компании, микроархитектура RDNA 2 поддерживает трассировку лучей с аппаратным ускорением в реальном времени. [23] [24]
Заметки
- ^ Для дополнительных визуализаций, таких как тени или отражения, например, от большого плоского водоема, для каждого эффекта требуется дополнительный проход графа сцены.
- ^ Методы растеризации позволяют легко генерировать реалистичные тени (включая тени, созданные частично прозрачными объектами) и плоские отражения (по состоянию на 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
- ^ Chris Wyman Исследовательское: Интерактивное Refractions архивация 2010-07-02 в Wayback Machine факультете компьютерных наук в Университете штата Айова, www.cs.uiowa.edu
- ^ SaarCOR - Аппаратная архитектура для трассировки лучей, Йорг Шмитлер, Инго Вальд, Филипп Слусаллек, Раздел 2, «Предыдущая работа»
- ^ SaarCOR - Аппаратная архитектура для трассировки лучей, Йорг Шмитлер, Инго Вальд, Филипп Слусаллек, Раздел 3, «Алгоритм трассировки лучей»
- ↑ Ray Tracing and Gaming - One Year Later Daniel Pohl, 17/1/2008, через "PCperspective", www.pcper.com
- ^ Аппаратно ускоренный движок трассировки лучей Грег Хамфрис, К. Скотт Ананиан (независимая работа), факультет компьютерных наук, Принстонский университет, 14 мая 1996 г. , cscott.net .
- ^ Vg500 ASIC для преобразования лучей в реальном времени . Архивировано 20 ноября 2008 г.в Wayback Machine Hanspeter Pfister, MERL - Исследовательская лаборатория Mitsubishi Electric, Кембридж, Массачусетс (США), www.hotchips.org
- ^ Hanspeter Пфистер, Ян Hardenbergh, Джим Knittely, Хью Lauery, Ларри Seiler (апрель 1999). "Система Ray Casting в реальном времени VolumePro" (PDF) . Mitsubishi Electric. CiteSeerX 10.1.1.69.4091 . Архивировано из оригинального (PDF) 16 июня 2011 года . Проверено 27 февраля 2010 . Цитировать журнал требует
|journal=
( помощь )CS1 maint: использует параметр авторов ( ссылка ) - ^ Vizard II: FPGA на основе Interactive Volume Rendering Система архивации 2008-11-21 в Вайбак машины Урс Kanus Грегора Wetekam, Johannes Хирхе, Майкл Майснер, Университет Тюбингена / Philips Research Hamburg, Graphics Hardware (2002), стр. 1–11, через www.doggetts.org
- ^ «SaarCOR - Аппаратная архитектура для трассировки лучей» . Цитировать журнал требует
|journal=
( помощь ) - ^ Шмиттлер, Йорг; Уолд, Инго; Слусаллек, Филипп (2002). «SaarCOR - Аппаратная архитектура для трассировки лучей» (PDF) . Графическое оборудование . Германия: Группа компьютерной графики, Саарландский университет: 1–11. Архивировано из оригинального (PDF) 14 августа 2011 года . Проверено 22 ноября 2011 .
- ^ Йорг Шмитлер; Свен Вуп; Даниэль Вагнер; Вольфганг Дж. Пол; Филипп Слусаллек (2004). «Трассировка лучей динамических сцен в реальном времени на микросхеме FPGA». Графическое оборудование . Компьютерные науки, Саарландский университет, Германия. CiteSeerX 10.1.1.72.2947 .
- ^ Свен Вуп, Йорг Шмитлер, Филипп Слусаллек. «RPU: программируемый блок обработки лучей для трассировки лучей в реальном времени» (PDF) . Саарский университет. Архивировано из оригинального (PDF) 15 апреля 2012 года . Проверено 22 ноября 2011 . Цитировать журнал требует
|journal=
( помощь )CS1 maint: использует параметр авторов ( ссылка ) - ^ Б О ArtVPS www.artvps
- ^ ВСЕ О ARTVPS, PURE CARDS, RENDERDRIVES и RAYBOX. Архивировано 14 апреля 2009 г. на Wayback Machine Марк Сегасби (Protograph Ltd), www.protograph.co.uk
- ^ «Демонстрация графики Ларраби на IDF 2009 Шона Мэлоуни - YouTube» . www.youtube.com . Проверено 6 января 2021 .
- ^ Siliconarts сайт компании www.siliconarts.com
- ^ Сайт компании Caustic Graphics www.caustic.com
- ^ Reinventing Ray Tracing 15/7/2009, интервью Джонатана Эриксона с Джеймсом МакКомбом из Caustic Graphics, www.drdobbs.com
- ^ «Будущее трассировки лучей, обзор: ускоритель Caustic R2500 наконец-то подтолкнул нас к трассировке лучей в реальном времени | ExtremeTech» . ExtremeTech . Проверено 5 октября 2015 .
- ^ «Технология NVIDIA RTX ™» . Разработчик NVIDIA . 2018-03-06 . Проверено 20 апреля 2018 .
- ^ О, Нейт. «NVIDIA анонсирует технологию RTX: ускорение трассировки лучей в реальном времени для графических процессоров Volta и более поздних версий» . Проверено 20 апреля 2018 .
- ^ Джадд, Уилл (28 октября 2020 г.). «AMD представляет три видеокарты Radeon 6000 с трассировкой лучей и высочайшей производительностью RTX» . Eurogamer . Проверено 28 октября, 2020 .
- ^ «AMD объявляет о презентациях Ryzen« Zen 3 »и Radeon« RDNA2 »в октябре: новое путешествие начинается» . anandtech.com . AnandTech . 2020-09-09 . Проверено 25 октября 2020 .
дальнейшее чтение
- Современное состояние в области интерактивной трассировки лучей Инго Вальд и Филипп Слусаллек, Группа компьютерной графики, Саарландский университет, обзорная статья за 2001 год