PhysX – физический движок для компьютерных игр, разработанный компанией Ageia, впоследствии купленной NVidia, в Феврале 2008 года.

Движок включает в себя SDK и специальные драйвера, которые устанавливаются в систему для реализации физических эффектов.

Если приложение поддерживает PhysX для обработки физики, используются видеокарты NVidia начиная с серии GeForce 8ххх. Важно это потому, что движок использует язык параллельных вычислений, поддерживаемый только с серии GeForce 8ххх. Для поддержки технологии требуются минимум — 32 CUDA Core и 256 Мб видеопамяти.

До слияния с NVidia, компания Ageia выпускала специальные аппаратные решения (карты для PCI слота) с собственным чипом для ускорения физики. Какое то время после покупки компании, его поддержка была приостановлена, но в 2010 году решение снова включили в список поддерживаемых новыми драйверами (XP & Vista only).

 

Если в системе нет ни платы Ageia PhysX, ни CUDA совместимых видеокарт NVidia, движок может обрабатываться и на центральном процессоре, но значительно медленнее. При исследовании PhysX SDK было обнаружено, что для обработки физики при помощи центрального процессора, движок не использует преимущества центральных процессоров таких как многопоточность, SSE, а также, что самое важное — многоядерность. Обрабатывая всю физику одним потоком, без использования инструкций SSE, MMX & etc. Представители компании пообещали в PhysX SDK 3.0 исправить этот недостаток. Собственно, так и получилось. Всё стало работать значительно быстрее на центральных процессорах.

Существуют версии PhysX SDK для следующих платформ:

APEX модули.

Для облегчения жизни разработчиков игр и для продвижения своего физического движка, NVidia разработала специальные пакеты, которые можно использовать в разработке игры сразу же, не разбираясь в нюансах низкоуровневого программирования. Впервые, данные пакеты были использованы в игре Mafia II, которая вышла в Августе 2010 года.

В игры были использованы пакеты: APEX Destruction, APEX Clothing, APEX Vegetation, and APEX Turbulence.

PhysX используется совместно с движками Unreal Engine 3 от Epic Games, Gamebryo от Emergent, 4A Engine от 4A Games, Reality Engine от Artificial Studios, Eclipse Engine от BioWare и некоторыми другими, менее известными (Unity, Trinigy Vision Engine, NeoAxis, Diesel Engine). В сумме движок использован уже более чем в 100 играх на разных платформах.

Что мы получаем, используя PhysX:

  • · Реалистичные взрывы с множеством разбрасываемых частиц и реалистичным дымом.
  • · Реалистичное поведение тканей, волос и деревьев.
  • · Реалистичные разрушения (стекло, дерево, камни, бетон, железо).
  • · Реалистичное поведение воздуха, тумана и воды согласно законам физики.