Каустическая графика
Тип компании | Частный |
---|---|
Основан | 2006 |
Судьба | Приобретена Imagination Technologies в 2010 г. |
Штаб-квартира | Сан-Франциско США |
Продукты |
|
Caustic Graphics была компанией по производству компьютерной графики и полупроводников в реальном времени , которая разработала технологии, позволяющие вывести компьютерную графику с трассировкой лучей на массовый рынок. [1] [2] [3]
Название компании произошло от оптического эффекта , вызванного концентрацией света на поверхности в результате фокусировки за счет явлений отражения или преломления.
Caustic был основан на предположении, что реалистичную 3D-графику было бы легче создать, если бы аппаратное обеспечение графического процессора было столь же эффективно при обработке луча, как обработка вершины или фрагмента с использованием существующих методов растеризации . [2]
История
[ редактировать ]Компания Caustic была основана в 2006 году тремя бывшими инженерами Apple , один из которых разработал графические технологии для iPod 5-го поколения и iPhone 1-го поколения . [4] Основополагающий бизнес-план заключался в создании полноценной графической системы с трассировкой лучей в реальном времени для ускорения профессиональной 3D-визуализации , а затем и для развлекательных приложений на ПК и игровых консолях . [1]
В 2008 году Caustic Graphics приобрела Splutterfish , компанию, которая разработала и продала для производственного рендеринга программный продукт под названием Brazil R/S . [5] [6]
Позже Caustic выпустил серию коммерческих программных продуктов под названием «Плагины Visualiser», в которых использовалась технология рендеринга Brazil R/S и оборудование Caustic для обеспечения интерактивного и автономного рендеринга с трассировкой лучей внутри Autodesk 3DSMax . [7] Аутодеск Майя , [8] МакНил Рино [9] и позже SketchUp [10]
В 2010 году Caustic Graphics была приобретена компанией Imagination Technologies . [11] [12] [13]
Технологии
[ редактировать ]Аппаратное обеспечение
[ редактировать ]Caustic Аппаратное обеспечение трассировки лучей не было заменой существующих графических процессоров растеризации , а скорее добавило несколько новых аппаратных функций для повышения эффективности трассировки лучей: [14]
- Сбор согласованности : способность графического процессора генерировать работу для себя, а для тех рабочих единиц, которые будут откладываться и сортироваться в согласованные группы, которые запрашивали общий ресурс, такой как данные или адрес программы шейдера в памяти.
- Модули пересечения треугольников с фиксированной функцией : был разработан модуль, который мог пересекать луч с парой треугольников, разделяющих ребра, и возвращать барицентрические координаты и другую информацию о попадании.
- Модули пересечения ограничивающего объема с фиксированной функцией : был разработан блок, который мог пересекать луч с AABB и возвращать информацию о попадании.
- Накопитель кадрового буфера : этот блок будет получать команды от ALU для добавления цвета к заданному пикселю в кадровом буфере.
- Генератор иерархии сцен : этот модуль будет читать списки треугольников (или других представлений геометрии сцены) и передавать в память ориентированный ациклический граф трехмерных объемов, окружающих геометрию, известный как иерархия ограничивающих объемов .
Сбор согласованности
[ редактировать ]Архитектура Caustic распараллеливала выполнение не пикселей, а отдельных лучей. Это позволяло аппаратному обеспечению собирать эти лучи в когерентные группы для выполнения общей операции, такой как доступ к адресу памяти в структуре ускорения сцены и базовой геометрии или выполнение общей программы шейдера материала . [15] [16] [17]
Потоковый генератор иерархии ограничивающих томов
[ редактировать ]Caustic разработал аппаратный конвейер, который был способен строить ограничивающую иерархию томов снизу вверх, напрямую потребляя собранные примитивы после затенения вершин и постепенно передавая граф узлов AABB в DRAM за один проход. Это работало за счет реализации консервативного вокселизатора треугольников , который создавал пространственные адреса в структуру, подобную кэшу , для группировки треугольников и AABB в общих частях трехмерного пространства. Это основывалось на том, что приложение отправляло треугольники в целом пространственно согласованном порядке. Неспособность отправить треугольники в пространственно согласованном порядке приведет к преждевременному вытеснению из пространственного кэша и, таким образом, приведет к созданию перекрывающихся ограничивающих объемов и повлечет за собой более высокие накладные расходы на обход лучей. Аппаратное обеспечение включало функцию увеличения скорости вокселизации для длинных и узких треугольников, чтобы обеспечить более эффективное ограничение и более высокую производительность рендеринга внеосевой геометрии. [18] [17]
Этот аппаратный блок, известный как SHG, был реализован в PowerVR 6XT GR6500 от Imagination. В ходе демонстрации компания заявила, что в их тестовом кристалле с частотой 600 МГц пропускная способность SHG составила 100 миллионов динамических треугольников в секунду. [14]
API CausticGL/OpenRL
[ редактировать ]OpenRL API (ранее называвшийся CausticGL ) был создан на основе OpenGL ES 2.0 и добавил ряд функций как к API хоста, так и к GLSL, необходимых для поддержки трассировки лучей. Caustic представила высокопроизводительные реализации API для процессоров Intel с поддержкой SSE и AVX , графических процессоров с поддержкой OpenCL и поддержки CUDA для графических процессоров NVIDIA . [19]
OpenRL SDK
[ редактировать ]API OpenRL поставлялся в бесплатном SDK с реализациями для процессоров Intel, графических процессоров, совместимых с OpenCL и CUDA, а также оборудования Caustic. Приложения, созданные на основе OpenRL SDK, автоматически обнаруживают поддерживающее оборудование и используют наиболее производительный доступный вариант. [20]
В SDK включен ряд примеров программ «Профилер», которые помогают отлаживать приложения, позволяя полностью проверять «дерево» трассировки лучей в пределах пикселя. [21] и инструмент под названием «StatsPlotter», который отображает внутренние счетчики производительности.
PowerVR Бразилия SDK
[ редактировать ]PowerVR Brazil SDK (также известный как Resin) представлял собой программный уровень, использующий API OpenRL, который позволял реализовывать физический рендеринг , программируемые шейдеры материалов, динамическую геометрию и независимость от аппаратной платформы. Технология Resin возникла на основе опыта бразильской команды R/S, приобретенного Caustic Graphics. [22]
Продукты
[ редактировать ]Мастер PowerVR / ПЛАТО
[ редактировать ]После приобретения компанией Imagination Technologies началась инициатива по интеграции системы сбора когерентности трассировки лучей Caustic, тестеров геометрии с фиксированными функциями и нового потокового генератора BVH в существующую архитектуру графического процессора Series 6 PowerVR . Это позволило шейдерам GLSL, которые раньше приходилось запускать на главном процессоре, вместо этого выполняться на кристалле с использованием существующих кластеров шейдеров PowerVR и по-прежнему получать выгоду от переупорядочения лучей, выполняемого модулем обхода Caustic. [14]
Кроме того, графический процессор по-прежнему представлял собой отложенный растеризатор на основе тайлов (TBDR) и мог выполнять гибридную растеризацию-трассировку лучей, позволяя шейдерам треугольных фрагментов излучать лучи непосредственно в конвейер трассировки лучей.
Компания Imagination Technologies записала тестовую микросхему, содержащую полный графический процессор трассировки лучей PowerVR 6XT GR6500, на карту PCI Express под названием PLATO, и она была публично продемонстрирована на различных мероприятиях. В 2016 году компания заявила, что пропускная способность памяти и характеристики энергопотребления аналогичны характеристикам потребительского смартфона среднего класса. [23] [24]
PCIe-карты
[ редактировать ]Была выпущена пара карт PCIe, включающих Caustic RT2 ASIC реализацию RTU . RT2 представлял собой специальную ASIC, созданную по 90-нм техпроцессу TSMC . Карта R2100 имела один чип RT2 и 4 ГБ встроенной памяти DDR2, а заявленное пиковое энергопотребление составляло 40 Вт. R2500 включал пару чипов RT2 и в общей сложности 16 ГБ памяти, а заявленное пиковое энергопотребление составляло 60 Вт. Карты поступили в продажу в 2013 году. [25] [26]
Карта CausticOne PCIe имела две реализации RTU FPGA, работающие на частоте 100 МГц, каждая с одноканальной памятью DDR2 для хранения сцен и подключенную к хосту через 4-канальный PCI Express 1.0. Он был продемонстрирован в 2009 году и продан в ограниченном объеме позже в том же году. [27] [28]
Ссылки
[ редактировать ]- ^ Jump up to: а б Кларк, Дон (9 марта 2009 г.). «Стартап обещает больше реализма в играх» . Уолл Стрит Джорнал . ISSN 0099-9660 . Проверено 12 ноября 2017 г.
- ^ Jump up to: а б Стоукс, Джон (21 апреля 2009 г.). «Caustic Graphics запускает платформу трассировки лучей в реальном времени» . Арс Техника . Проверено 12 ноября 2017 г.
- ^ Скиллингс, Джон (9 марта 2009 г.). «Стартап Caustic нацелен на трассировку лучей для графики» . CNET . Проверено 12 ноября 2017 г.
- ^ Шраут, Райан (20 апреля 2009 г.). «Обзор технологии ускорения трассировки лучей Caustic Graphics» . Перспектива ПК . Проверено 15 марта 2022 г.
- ^ Махер, Кэтлин (август 2009 г.). «Гонка рендеринга» . Мир компьютерной графики . Том. 32, нет. 8 . Проверено 12 марта 2022 г.
- ^ «Важное объявление от Caustic Graphics — форумы SplutterFish» . caustic.com . 07.04.2013. Архивировано из оригинала 7 апреля 2013 г. Проверено 13 марта 2022 г.
- ^ «Открытая бета-версия Caustic Visualizer для 3DS Max» . CGPress . 06.05.2013 . Проверено 12 марта 2022 г.
- ^ «Каустический визуализатор для Maya» . IAMAG Вдохновение . 07.05.2013 . Проверено 12 марта 2022 г.
- ^ Ньютон, Рэндалл (11 апреля 2013 г.). «Плагин Rhino предоставляет доступ к трассировке лучей Caustic Visualizer» . ГрафикаSpeak . Проверено 12 марта 2022 г.
- ^ «Визуализатор для SketchUp • SketchUcation • 1» . сайт Sketchucation.com . Проверено 12 марта 2022 г.
- ^ «Партнер Apple Imagination приобретает производителя графических чипов кинематографического качества» . Apple Инсайдер . 14 декабря 2010 года . Проверено 12 ноября 2017 г.
- ^ «Альтернативные аппаратные архитектуры» . pbr-book.org . Проверено 12 марта 2022 г.
- ^ Келлер, Александр; Каррас, Теро; Вальд, Инго; Айла, Тимо; Лайне, Самули; Биккер, Жакко; Гриббл, Кристиан; Ли, Вон Чон; МакКомб, Джеймс (21 июля 2013 г.). «Трассировка лучей — это будущее, и оно всегда будет» . Курсы ACM SIGGRAPH 2013 . СИГРАФ '13. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 1–7. дои : 10.1145/2504435.2504444 . ISBN 978-1-4503-2339-0 . S2CID 17349732 .
- ^ Jump up to: а б с Смит, Райан (18 марта 2014 г.). «Imagination анонсирует семейство графических процессоров PowerVR Wizard: Rogue изучает трассировку лучей» . АнандТех . Проверено 12 марта 2022 г.
- ^ США 8502820B2 , Петерсон, Люк Тилман; МакКомб, Джеймс Александер и Салсбери, Райан Р. и др., «Архитектуры для параллельных операций обработки графики», выпущено 6 августа 2013 г.
- ^ США 8018457B2 , Петерсон, Люк Тилман; МакКомб, Джеймс Александер и Салсбери, Райан Р. и др., «Архитектура и методы системы трассировки лучей», опубликовано 13 сентября 2011 г., выпущено 13 сентября 2011 г.
- ^ Jump up to: а б «Новые методы, ставшие возможными благодаря оборудованию трассировки лучей PowerVR (представлено Imagination Technologies)» . www.gdcvault.com . Проверено 14 марта 2022 г.
- ^ US 10930052B2 , Маккомб, Джеймс А.; Дуайер, Аарон и Петерсон, Люк Т. и др., «Системы и методы создания и обновления структуры ускорения трехмерных сцен», опубликовано 23 февраля 2021 г., выпущено 23 февраля 2021 г.
- ^ Шраут, Райан (7 июля 2009 г.). «Caustic Graphics и API трассировки лучей CausticGL — взгляд на ПК» . Перспектива ПК . Проверено 13 марта 2022 г.
- ^ «OpenRL: пример гетерогенных вычислений» . Гики 3D . 28 мая 2010 года . Проверено 13 марта 2022 г.
- ^ США 9881411B2 , Монсон, Нур; МакКомб, Джеймс Александер и Гис, Шон Мэтью, «Профилирование средств визуализации с трассировкой лучей», опубликовано 30 января 2018 г., выпущено 30 января 2018 г.
- ^ Такер, Джим (20 апреля 2012 г.). «Imagination Technologies поставляет PowerVR Brazil SDK | CG Channel» . CGchannel.com . Проверено 13 марта 2022 г.
- ^ Трассировка лучей Imagination PowerVR (видео). Аппаратное обеспечение Тома . 11 января 2016 г. Проверено 12 марта 2022 г. - через YouTube .
- ^ Мобильный графический процессор Imagination PowerVR 6XT GR6500 — демонстрация трассировки лучей и Nvidia Geforce GTX 980 Ti (видео). Блокнот Италия. 17 января 2016 г. Проверено 12 марта 2022 г. - через YouTube .
- ^ Уорд, Энтони (25 июля 2013 г.). «Обзор оборудования: карта ускорителя трассировки лучей Caustic Series2 R2500 | 3D World» . 3D Мир Маг . Архивировано из оригинала 25 июля 2013 г. Проверено 12 марта 2022 г.
- ^ Грушка, Джоэл (1 августа 2013 г.). «Обзор будущего трассировки лучей: ускоритель Caustic R2500 наконец приближает нас к трассировке лучей в реальном времени — ExtremeTech» . Экстремальные технологии . Проверено 13 марта 2022 г.
- ^ «Трассировка лучей в реальном времени со скоростью 5 кадров в секунду с помощью системы трассировки лучей CausticRT» . Гики 3D . 20 апреля 2009 года . Проверено 13 марта 2022 г.
- ^ Шраут, Райан (20 апреля 2009 г.). «Обзор технологии ускорения трассировки лучей Caustic Graphics — взгляд на ПК» . Перспектива ПК . Проверено 13 марта 2022 г.