OptiX
OptiX | |
---|---|
![]() Официальный логотип OptiX | |
Тип | графический движок |
Разработчик |
nVidia |
Дата анонса | 6 августа 2009 |
Дата выхода | 5 ноября 2009 |
Аппаратная платформа |
IBM PC-совместимый компьютер с определёнными видеокартами |
Поддерживаемые ОС | |
Написан на языках | C++ и Си |
Лицензия |
freeware ) |
Последняя версия | 8.0 (август 2023) |
developer.nvidia.com/opt… |
OptiX (nVidia OptiX) —
Описание
Общее описание
Движок nVIDIA OptiX является частью набора модулей для разработчиков в который, кроме OptiX, включены ещё такие модули как SceniX и CompleX. Все они интегрируется в сторонние приложения[1][2].
nVidia OptiX является программным средством, реализующим рендеринг методом трассировки лучей (рэйтрейсинга) в режиме реального времени при помощи графических процессоров (англ. GPU) производства nVidia. OptiX использует технологию CUDA для выполнения вычислений на графических процессорах. Хотя основной особенностью OptiX является рендеринг при помощи трассировки лучей, также поддерживается классическая растеризация. Таким образом, OptiX является гибридным рендерером. Несмотря на то, что OptiX — графический движок, он может использоваться в неграфических вычислениях. Область использования OptiX — все вычислительно интенсивные задачи, к которым можно применить трассировку лучей (здесь под «трассировкой лучей» понимается не трассировка лучей применительно к компьютерной графике, а трассировка лучей как метод анализа и исследования геометрических систем при помощи вычисления распространения волн или частиц, см. Трассировка лучей (физика) (англ. Ray tracing (physics)))[3][4].
OptiX предоставляет программируемый конвейер рэйтрейсинга с использованием языка программирования С[2], с наложенными на него ограничениями. OptiX позиционируется разработчиками как очень гибкий движок, который можно детально настраивать и адаптировать к конкретным задачам. Пользователи OptiX, — разработчики приложений, — могут ускорить те задачи по трассировке лучей, которые им нужны. Гибкость OptiX начинается в абстракции исполнения и заканчивается на отдельных лучах, что значительно упрощает расчёты для одного луча в одну единицу времени. Данные, которые несёт и собирает луч, полностью настраиваемые. Данные, поступающие на OptiX, также программируемые, что позволяет использовать программируемые шейдеры для новых методик, программируемые пересечения для процедурных типов поверхностей, и программируемые виртуальные камеры для потенциала при композитинге[5].
OptiX содержит такие критически важные для него функции, как параллелизм (как внутри графического процессора, так и между графическим и
Системные требования
OptiX первой версии требует наличия профессиональных видеокарт семейства nVidia
Полный список графических процессоров, видеокарты с использованием которых поддерживаются движком OptiX 2[8]:
- Профессиональные видеокарты:
- Линейка Quadro FX: Quadro FX 5800, Quadro FX 4800, Quadro FX 3800, Quadro CX
- Линейка Quadro Plex: Quadro Plex 2200 D2, Quadro Plex 2200 S4
- Линейка Nvidia Tesla: Tesla S1070, Tesla M1060, Tesla C1060, Tesla RS
- Tesla C2050
- Линейка
- Пользовательские видеокарты:
- Линейка GeForce 200: GeForce GTX 260, GTX 260 Cre 216, GTX 275, GTX 280, GTX 285, GTX 295
- Линейка GeForce 400: GeForce GTX 480, GTX 470
- Линейка GeForce 500
- Линейка GeForce 600
- Линейка GeForce 700
- Линейка GeForce RTX: GeForce RTX 20xx, RTX 30xx, RTX 40xx
Кроме видеокарт с определёнными графическими процессорами, требуется x86-совместимый центральный процессор[8].
Для работы OptiX необходима версия v.190 графического драйвера NVIDIA Unified Graphics Driver или более поздняя. Для GT200 требуется CUDA Toolkit версии 2.3 и выше, а для GF100 — CUDA Toolkit 3.0 и выше. Также требуется C/C++ компилятор: для
Движком OptiX поддерживаются как 32-битные операционные системы, так и 64-битные[8]:
Интегрирован в ПО
- Blender имеет поддержку OptiX с версии 2.81[9]
- Дополнение Blender D-NOISE Архивная копия от 4 июля 2020 на Wayback Machine использует OptiX для улучшения производительности шумоподавления на основе ИИ[10]
- FurryBall Архивная копия от 25 июня 2020 на Wayback Machine — TBD, проприетарный рендерер на графическом процессоре реального времени использующий трассировку лучей и растеризацию базируется на Nvidia OptiX
- На Adobe показала OptiX в технодемо трассировки лучей на графическом процессоре для анимационного дизайна.[11]
- На SIGGRAPH 2013 OptiX был представлен в инструменте предварительного просмотра освещения компании Pixar.
- OptiX был интегрирован в фреймворк GameWorks вместе с PhysX и другими графическими движками и фреймворками на CUDA.[12]
- Adobe After Effects CC[13]
- Daz Studio имела интеграцию OptiX Prime Acceleration вместе с Iray, но поддержка была убрана в версии 4.12.1.8[14]
Использование и примеры
OptiX может использоваться в множестве задач: создание фотореалистичных моделей, дизайн автомобилей, разработка музыкальных инструментов и оптических систем, расчеты ёмкости и исследования радиации, анализ соударений и во всех остальных, где может использоваться алгоритм трассировки лучей. OptiX может быть задействован в приложениях, использующих движок управления сценой SceniX, таких как RTT DeltaGen, Autodesk Showcase и Anark Media Studio[3][4].
nVidia поместила на своём официальном сайте ряд примеров, демонстрирующих работу OptiX"[15][16][17]:
- Whitted (рус. Уиттед) — пример работы трассировки лучей, который разработал Тернер Уиттед (англ. Turner Whitted), демонстрирует преломления, отражения и прозрачность процедурной геометрии и материалов.
- Cook (Motion Blur.
- Julia (ambient occlusionв реальном времени.
- Glass — данный пример демонстрирует реалистичное стекло с большим количеством преломлений и отражений.
- Whirligig (рус. Юла) — на этом примере непрерывная анимация юлы демонстрирует скорость обновления трансформаций объекта и свойства материалов вместе с генерацией отражений и отбрасыванием теней.
- Ambient Occlusion — данный пример показывает непрерывный расчёт глобального освещения с использованием метода Ambient Occlusion. Данная демонстрация позволяет пользователю загружать в неё свои собственные OBJ-файлы с трёхмерными геометрическими моделями.
История
Впервые об OptiX было объявлено 6 августа на международной ежегодной конференции SIGGRAPH 2009, которая проходила с 3 по 7 августа включительно в Новом Орлеане[18]. На SIGGRAPH 2009 было объявлено название движка, его основная функциональность, нацеленность на определённые задачи, основные особенности и т. д. Джефф Браун, главный менеджер отдела профессиональных решений nVidia, так прокомментировал анонс OptiX: «Мир расчетов переместился от вычислений только лишь на процессоре к уравновешенной совместной обработке на CPU и GPU. Движки ускорения приложений от nVidia вооружают разработчиков инструментами, в которых они нуждаются для осуществления дальнейшего коренного изменения, как в области графики в реальном времени, так и сложного анализа данных». Джон Педди, основатель и президент аналитического дома Jon Peddie Research, во время анонса заявил, что «за один год nVidia смогла перейти от слов о том, что интерактивная визуализация методом трассировки лучей возможна, к созданию этой возможности для всех»[4][19].
До данного анонса OptiX программное средство nVidia по реализации трассировки лучей в реальном времени называлось NVIRT (Nvidia Interactive Raytracer)[19].
Кроме OptiX, на SIGGRAPH 2009 были анонсированы
.В конце августа 2009 года nVidia разместила на своём сайте примеры использования движка OptiX. Было опубликовано три примера: Whitted (демонстрация преломлений, отражений и прозрачных объектов), Cook (демонстрация
.5 ноября 2009 года, как и было обещано на SIGGRAPH 2009, nVidia выпустила OptiX. OptiX был выложен в открытый доступ в виде OptiX
.22 января 2010 года nVidia выпустила первую бета-версию OptiX 2, основной особенностью которой является её переработка под архитектуру графических процессоров nVidia Fermi. Также в этой версии присутствует возможность работы движка не только на профессиональных видеокартах Quadro и Tesla, но и на пользовательских видеокартах GeForce[7].
13 марта 2010 года была выпущена третья бета-версия OptiX 2, которая добавила предварительную поддержку первых видеокарт на базе Fermi и взаимодействие на уровне текстур и буферов с Direct3D[22].
29 июля 2010 года nVidia представила новые профессиональные графические процессоры и видеокарты линейки
Примечания
- nVidia (русскоязычная версия сайта). — Описание движков, ускоряющих приложения, и их список. Дата обращения: 15 мая 2010. Архивировано25 апреля 2012 года.
- ↑ 1 2 3 Сергей и Марина Бондаренко. SIGGRAPH 2009: интерактивная система трассировки лучей NVIDIA OptiX . 3DNews (6 августа 2009). Дата обращения: 15 мая 2010. Архивировано 18 августа 2010 года.
- ↑ nVidia (русскоязычная версия сайта). — Главная страница OptiX и его краткое описание. Дата обращения: 15 мая 2010. Архивировано25 апреля 2012 года.
- ↑ 1 2 3 4 Вячеслав Коломин. NVIDIA представила движок визуализации методом трассировки лучей . Мир nVidia (6 августа 2009). Дата обращения: 15 мая 2010. Архивировано 25 апреля 2012 года.
- ↑ nVidia — подраздел разработчиков (19 января 2010). — Главная страница OptiX на подразделе разработчиков и его детальное описание. Дата обращения: 15 мая 2010. Архивировано25 апреля 2012 года.
- ↑ 1 2 Константин Ходаковский. NVIDIA представила движок для трассировки лучей OptiX . Мир nVidia (5 ноября 2009). Дата обращения: 15 мая 2010. Архивировано 25 апреля 2012 года.
- ↑ 1 2 DrEvil. Практический ray-tracing — бета-версия NVIDIA OptiX второго поколения . Мир nVidia (22 января 2010). Дата обращения: 15 мая 2010. Архивировано 25 апреля 2012 года.
- ↑ nVidia — подраздел разработчиков (10 мая 2010). — Описание и системные требования бета-версии OptiX 2. Дата обращения: 15 мая 2010. Архивировано25 апреля 2012 года.
- ↑ Blender 2.81 Benchmarks On 19 NVIDIA Graphics Cards - RTX OptiX Rendering Performance Is Incredible . phoronix.com (2019). Дата обращения: 26 ноября 2019. Архивировано 27 ноября 2019 года.
- ↑ D-NOISE: Rapid AI Denoising for Blender . Remington Creative (20 июля 2019). Дата обращения: 14 декабря 2019. Архивировано 14 декабря 2019 года.
- ↑ Adobe showcasing OptiX in a technology demo for ray tracing motion graphics with GPUs . NVIDIA (2013). Дата обращения: 14 августа 2013. Архивировано 17 августа 2011 года.
- ↑ Nvidia announces Gameworks Program at Montreal 2013; supports SteamOS . NVIDIA (2013). Дата обращения: 29 октября 2013. Архивировано 1 ноября 2013 года.
- ↑ GPU changes (for CUDA and OpenGL) in After Effects CC (12.1) | After Effects region of interest . Дата обращения: 22 февраля 2015. Архивировано 12 ноября 2018 года.
- ↑ Daz Studio Changelog . DAZ 3D. Дата обращения: 14 декабря 2019. Архивировано 13 декабря 2019 года.
- ↑ nVidia — подраздел разработчиков (ноябрь 2009). — Список технологических демонстраций OptiX. Дата обращения: 15 мая 2010. Архивировано18 июня 2012 года.
- ↑ 1 2 JeGX. NVIDIA OptiX Demos Available for Windows (англ.). Geeks3D.com (27 августа 2009). Дата обращения: 15 мая 2010. Архивировано 25 апреля 2012 года.
- ↑ 1 2 Глеб Лебедев. NVidia разместила примеры использования OptiX . GameDev.ru (21 сентября 2009). Дата обращения: 15 мая 2010. Архивировано 30 ноября 2012 года.
- ↑ SIGGRAPH 2009 Art Papers — Искусство в цифровом мире . Mir3D.ru (26 декабря 2008). Дата обращения: 18 января 2010. Архивировано 24 марта 2012 года.
- ↑ 1 2 Thilo Bayer. Nvidia Optix Ray Tracing engine: New ray traced pictures Just recently Nvidia has introduced the Optix Ray Tracing engine at the Siggraph 2009. PC Games Hardware presents some more of the ray traced pictures. (англ.). PC Games Hardware (7 августа 2009). Дата обращения: 15 мая 2010. Архивировано 25 апреля 2012 года.
- ↑ Глеб Лебедев. NVIDIA OptiX SDK теперь доступен всем . GameDev.ru (5 ноября 2009). Дата обращения: 15 мая 2010. Архивировано 30 ноября 2012 года.
- ↑ OptiX в открытом доступе . UralDev (8 ноября 2009). Дата обращения: 15 мая 2010. Архивировано 25 апреля 2012 года.
- ↑ DrEvil. Новая бета-версия пакета рэйтрейсинга NVIDIA OptiX . Мир nVidia (13 марта 2010). Дата обращения: 15 мая 2010. Архивировано 25 апреля 2012 года.
- ↑ Евгений Давыдов. NVIDIA представила новые GPU Quadro на базе архитектуры Fermi . Мир nVidia (29 июля 2010). Дата обращения: 31 июля 2010. Архивировано 25 апреля 2012 года.
- ↑ Евгений Давыдов. Движки ускорения приложений, оптимизированные под Fermi . Мир nVidia (29 июля 2010). Дата обращения: 31 июля 2010. Архивировано 25 апреля 2012 года.
- ↑ Движки ускорения приложений NVIDIA . UralDev (28 июля 2010). Дата обращения: 22 августа 2010. Архивировано 25 апреля 2012 года.
- ↑ OptiX: a general purpose ray tracing engine (англ.). ACM Digital Library (июль 2010). Дата обращения: 22 августа 2010.
- ↑ Steven G. Parker, James Bigler, Andreas Dietrich, Heiko Friedrich, Jared Hoberock, David Luebke, David McAllister, Morgan McGuire, Keith Morley, Austin Robison, Martin Stich. OptiX: a general purpose ray tracing engine (англ.) (PDF). research.nvidia.com (август 2010). — Прямая ссылка на полную версию презентации. Дата обращения: 22 августа 2010. Архивировано 25 апреля 2012 года.
Ссылки
- OptiX Application Acceleration Engine Интерактивная трассировка лучей на профессиональных графических решениях NVIDIA Quadro . Официальный сайт nVidia (русскоязычная версия сайта). — Главная страница OptiX и его краткое описание. Дата обращения: 15 мая 2010. Архивировано25 апреля 2012 года.
- NVIDIA® OptiX™ ray tracing engine (англ.). Официальный сайт nVidia — подраздел разработчиков (19 января 2010). — Главная страница OptiX на подразделе разработчиков и его детальное описание. Дата обращения: 15 мая 2010. Архивировано25 апреля 2012 года.