Nvidia открывает новый этап в симуляции физики: полное освобождение кода PhysX 5.6.0 и Flow GPU 2.2.0 для разработчиков

Компания Nvidia опубликовала в открытом доступе полный исходный код движка для симуляции физических процессов PhysX версии 5.6.0, который включает в себя SDK PhysX, а также раздала исходный код библиотеки для моделирования жидкостей Flow GPU.

Исходный код проекта PhysX распространяется под лицензией BSD-3 и поддерживает различные платформы, такие как Linux, macOS, iOS, Windows и Android.

С 2018 года Nvidia регулярно выпускала новые версии PhysX SDK под лицензией BSD, с одним важным исключением, как уточнил старший директор по технологиям моделирования в Nvidia Адам Моравански – код ядра симуляции (GPU simulation kernel) не был доступен.

С выходом обновления SDK PhysX 5.6, Nvidia расширила доступ к коду ядра симуляции под лицензией BSD и интегрировала его в SDK. В проекте представлено более 500 готовых ядер для CUDA, обеспечивающих такие функции, как динамика твердых тел, симуляция жидкостей и моделирование деформаций объектов. Также открыта полная реализация шейдеров вычислений на GPU для Flow SDK.

Согласно данным OpenNET, PhysX принадлежит к числу самых популярных физических движков, задействованных в почти тысяче игр и используется в различных игровых движках, таких как Unreal Engine, Unity3D, AnvilNext, Stingray, Dunia 2 и REDengine. Этот движок может масштабироваться под различные устройства, начиная от смартфонов и заканчивая высокопроизводительными рабочими станциями с многоядерными CPU и GPU, и предоставляет возможности GPU для ускорения обработки эффектов.

PhysX применяется в реализациях таких эффектов, как разрушения, взрывы, реалистичные движения персонажей и автомобилей, дым, колеблющиеся от ветра деревья, вода, текущая и обтекающая препятствия, а также взаимодействия с твердыми и мягкими телами. Кроме игровой разработки, движок также находит применение в таких сферах, как синтез данных для ИИ-исследований, обучение нейронных сетей, создание реалистичных окружающих условий для тренировки роботов, а также в симуляции реальных условий для тестирования автономных транспортных средств и автопилотов.