Caustic Graphics
Caustic Graphics — американская компания в области компьютерной графики и безфабричного производства полупроводников, разрабатывавшая технологии для вывода трассированной в реальном времени графики на массовый рынок.[1][2][3]
Название компании происходит от оптического эффекта — каустики, возникающего при концентрации света на поверхности в результате фокусировки через отражение или преломление.
Caustic Graphics была основана на предпосылке, что создание реалистичной 3D-графики станет проще, если аппаратное обеспечение графического процессора (GPU) будет столь же эффективно обрабатывать лучи, как и вершины или фрагменты при использовании существующих методов растризации[2].
Общие сведения
| Caustic Graphics | |
|---|---|
| Тип | Частная компания |
| Основание | 1 января 2007 |
| Причина упразднения | Приобретена компанией Imagination Technologies в 2010 году |
| Расположение | |
| Продукция |
|
| Сайт | caustic.com |
История
Caustic Graphics была основана в 2006 году тремя бывшими инженерами Apple, один из которых разрабатывал графические технологии для iPod пятого поколения и iPhone первого поколения. Первоначальный бизнес-план предполагал создание полноценной системы трассировки лучей в реальном времени для ускорения профессиональной 3D-визуализации, а впоследствии — для развлекательных приложений на ПК и игровых консолях[1].
В 2008 году Caustic Graphics приобрела компанию Splutterfish, разработчика и поставщика программного обеспечения для производственного рендеринга Brazil R/S[4].
Позднее Caustic выпустила серию коммерческих программных продуктов под названием Visualiser Plugins, использующих технологию рендеринга Brazil R/S и аппаратное обеспечение Caustic для интерактивного и офлайн-рендеринга с трассировкой лучей в Autodesk 3DSMax[5], Autodesk Maya[6], McNeel Rhino[7] и позднее SketchUp[8].
В 2010 году Caustic Graphics была приобретена компанией Imagination Technologies.[9][10][11]
Технологии
Аппаратное обеспечение
Аппаратное обеспечение для трассировки лучей Caustic не заменяло существующие GPU для растризации, а добавляло ряд новых аппаратных функций для повышения эффективности трассировки лучей[12]:
- Сбор когерентности: Возможность для GPU генерировать задачи для себя и группировать их в когерентные группы, запрашивающие общий ресурс, например, адрес данных или программы шейдера в памяти.
- Блочные устройства пересечения треугольников: Разработан блок, способный пересекать луч с парой треугольников с общей гранью и возвращать барицентрические координаты и другую информацию о пересечении.
- Блочные устройства пересечения ограничивающих объёмов: Разработан блок, способный пересекать луч с ограничивающим параллелепипедом (AABB) и возвращать информацию о пересечении.
- Аккумулятор кадрового буфера: Этот блок получает команды от АЛУ для добавления цвета к определённому пикселю в кадровом буфере.
- Генератор иерархии сцены: Этот блок читает списки треугольников (или других представлений геометрии сцены) и формирует в памяти ориентированный ациклический граф 3D-объёмов, окружающих геометрию, известный как иерархия ограничивающих объёмов.
Сбор когерентности
Архитектура Caustic параллелила выполнение не по пикселям, а по отдельным лучам. Это позволяло аппаратуре собирать лучи в когерентные группы для выполнения общей операции, например, доступа к адресу памяти внутри структуры ускорения сцены или выполнения общего шейдерного материала[13][14][15].
Генератор иерархии ограничивающих объёмов
Caustic разработала аппаратный конвейер, способный строить иерархию ограничивающих объёмов (BVH) снизу вверх, напрямую потребляя собранные примитивы после вершинного шейдинга и постепенно формируя граф узлов AABB в DRAM за один проход. Это реализовано с помощью консервативного треугольного вокселизатора, который создаёт пространственные адреса для группировки треугольников и AABB в общих частях 3D-пространства. Для эффективной работы требуется, чтобы приложение подавало треугольники в пространственно когерентном порядке; иначе возникают преждевременные вытеснения из кэша и увеличивается накладная на трассировку лучей. Для длинных и узких треугольников реализована функция ускорения вокселизации, что повышает производительность при рендеринге внеосевой геометрии[15][16].
Этот аппаратный блок, известный как SHG, был реализован в PowerVR 6XT GR6500 от Imagination. В демонстрации компания заявила, что на тестовом кристалле с частотой 600 МГц SHG обеспечивал пропускную способность 100 миллионов динамических треугольников в секунду[12].
CausticGL/OpenRL API
API OpenRL (ранее назывался CausticGL) был основан на OpenGL ES 2.0 и дополнялся рядом функций для поддержки трассировки лучей как в хост-API, так и в GLSL. Caustic поставляла высокопроизводительные реализации API для процессоров Intel с поддержкой SSE и AVX, GPU с поддержкой OpenCL и CUDA для NVIDIA.
OpenRL SDK
API OpenRL распространялся в бесплатном SDK с реализациями для процессоров Intel, GPU с поддержкой OpenCL и CUDA, а также аппаратного обеспечения Caustic. Приложения, построенные на OpenRL SDK, автоматически определяли поддерживаемое оборудование и использовали наиболее производительный вариант[17].
SDK включал примеры программ, «Profiler» для отладки приложений с возможностью полного анализа дерева трассировки лучей в пикселе[18] и инструмент «StatsPlotter» для анализа внутренних счётчиков производительности.
PowerVR Brazil SDK
PowerVR Brazil SDK (также известный как Resin) — программный слой, использующий API OpenRL, который позволял реализовывать физически корректный рендеринг, программируемые материалы, динамическую геометрию и независимость от аппаратной платформы. Технология Resin выросла из опыта команды Brazil R/S, приобретённой Caustic Graphics[19].
Продукты
PowerVR Wizard / PLATO
После приобретения компанией Imagination Technologies началась интеграция технологий Caustic по сбору когерентности лучей, блочных тестеров геометрии и нового потокового генератора BVH в архитектуру GPU PowerVR серии 6. Это позволило выполнять GLSL-шейдеры, которые ранее работали только на CPU, непосредственно на кластерах PowerVR, сохраняя преимущества переупорядочивания лучей, реализуемого блоком обхода Caustic[12].
Кроме того, GPU оставался тайловым отложенным растризатором (TBDR) и мог выполнять гибридную растризацию и трассировку лучей, позволяя фрагментным шейдерам треугольников генерировать лучи прямо в конвейер трассировки.
Imagination Technologies изготовила тестовый кристалл PowerVR 6XT GR6500 с трассировкой лучей на плате PCI Express под названием PLATO, который был публично продемонстрирован на различных мероприятиях. Компания заявляла, что по пропускной способности памяти и энергопотреблению этот GPU сопоставим с типичным смартфоном среднего класса 2016 года.
PCIe-карты
Были выпущены две PCIe-карты с ASIC Caustic RT2, реализующими RTU. RT2 — это специализированная микросхема, изготовленная по 90-нм техпроцессу TSMC. Карта R2100 содержала один чип RT2 и 4 ГБ DDR2-памяти, заявленное энергопотребление — 40 Вт. R2500 имела два чипа RT2 и 16 ГБ памяти, энергопотребление — 60 Вт. Карты поступили в продажу в 2013 году[20].
PCIe-карта CausticOne имела две FPGA-реализации RTU, работавшие на частоте 100 МГц каждая, с одноканальной DDR2-памятью для хранения сцены и подключением к хосту через 4 линии PCI Express 1.0. Она была продемонстрирована в 2009 году и продавалась ограниченным тиражом в том же году.
Примечания
- ↑ 1 2 Clark, Don. Start-Up Promises More Game Realism (англ.), Wall Street Journal (9 марта 2009). Дата обращения: 12 ноября 2017.
- ↑ 1 2 Stokes, Jon. Caustic Graphics launches real-time ray tracing platform (англ.), Ars Technica (21 апреля 2009). Дата обращения: 12 ноября 2017.
- ↑ Skillings, Jon. Start-up Caustic targets ray tracing for graphics (англ.), CNET (9 марта 2009). Дата обращения: 12 ноября 2017.
- ↑ Maher, Kathleen (август 2009). “The Rendering Race”. Computer Graphics World [англ.]. 32 (8). Дата обращения 2022-03-12. Проверьте дату в
|date=(справка на английском) - ↑ Caustic Visualizer for 3DS Max open beta (англ.). CGPress (6 мая 2013). Дата обращения: 12 марта 2022.
- ↑ Caustic Visualizer For Maya (англ.). IAMAG Inspiration (7 мая 2013). Дата обращения: 12 марта 2022.
- ↑ Newton, Randall Rhino plug-in gives access to Caustic Visualizer ray tracing (англ.). GraphicSpeak (11 апреля 2013). Дата обращения: 12 марта 2022.
- ↑ Visualizer for SketchUp • sketchUcation • 1 (англ.). sketchucation.com. Дата обращения: 12 марта 2022.
- ↑ Apple partner Imagination acquires 'cinema quality' graphics chipmaker (англ.). Apple Insider (14 декабря 2010). Дата обращения: 12 ноября 2017.
- ↑ Alternative Hardware Architectures (англ.). pbr-book.org. Дата обращения: 12 марта 2022.
- ↑ Keller, Alexander. Ray tracing is the future and ever will be // ACM SIGGRAPH 2013 Courses : [англ.] / Alexander Keller, Tero Karras, Ingo Wald … [et al.]. — New York, NY, USA : Association for Computing Machinery, 21 июля 2013. — P. 1–7. — ISBN 978-1-4503-2339-0. — doi:10.1145/2504435.2504444.
- ↑ 1 2 3 Smith, Ryan Imagination Announces PowerVR Wizard GPU Family: Rogue Learns Ray Tracing (англ.). AnandTech (18 марта 2014). Дата обращения: 12 марта 2022. Архивировано 19 марта 2014 года.
- ↑ Peterson, Luke Tilman; James Alexander McCombe & Ryan R. Salsbury et al., "Architectures for concurrent graphics processing operations", US 8502820B2, issued 2013-08-06
- ↑ Peterson, Luke Tilman; James Alexander McCombe & Ryan R. Salsbury et al., "Ray tracing system architectures and methods", US 8018457B2, published 2011-09-13, issued 2011-09-13
- ↑ 1 2 New Techniques Made Possible by PowerVR Ray Tracing Hardware (Presented by Imagination Technologies) (англ.). www.gdcvault.com. Дата обращения: 14 марта 2022.
- ↑ Mccombe, James A.; Aaron Dwyer & Luke T. Peterson et al., "Systems and methods for 3-D scene acceleration structure creation and updating", US 10930052B2, published 2021-02-23, issued 2021-02-23
- ↑ OpenRL: Heterogeneous Computing Example (англ.). Geeks 3D (28 мая 2010). Дата обращения: 13 марта 2022.
- ↑ Monson, Nur; James Alexander McCombe & Sean Matthew Gies, "Profiling ray tracing renderers", US 9881411B2, published 2018-01-30, issued 2018-01-30
- ↑ Thacker, Jim Imagination Technologies ships PowerVR Brazil SDK | CG Channel (англ.). CGchannel.com (20 апреля 2012). Дата обращения: 13 марта 2022.
- ↑ Ward, Antony Hardware review: Caustic Series2 R2500 ray-tracing accelerator card | 3D World (англ.). 3D World Mag (25 июля 2013). Дата обращения: 12 марта 2022. Архивировано 25 июля 2013 года.