Вы можете найти это интересное:
http://www.xbitlabs.com/news/video/display/20091001171332_AMD_Nvidia_PhysX_Will_Be_Irrelevant.html
Это предвзято ... это в основном интервью с AMD ... но в нем есть некоторые моменты, которые, я думаю, стоит рассмотреть в вашем случае.
Из-за проблем, на которые указал Дэвид Сейлер, переключение физических движков в будущем может стать огромной / непреодолимой проблемой ... особенно, если игровой процесс тесно связан с физикой.
Так что, если вы действительно хотите, чтобы физика с аппаратным ускорением в вашем движке СЕЙЧАС, переходите на Physx, но имейте в виду, что когда станут доступны решения, подобные постулируемым AMD в этой статье (они абсолютно будут , но они Вы еще не здесь), вы столкнетесь с неприятным выбором:
1) переписать ваш движок для использования (укажите название нового кроссплатформенного аппаратного ускоренного физического движка), потенциально изменяя динамику вашей игры в плохом ключе
2) продолжать использовать только Physx, полностью игнорируя пользователей AMD
3) попытаться заставить Physx работать на графических процессорах AMD (блех ...)
Помимо идеи Дэвида использовать физический движок ЦП в качестве запасного варианта (выполняя двойную работу и создавая два движка, которые не ведут себя одинаково), вы можете использовать только другую физику ЦП.
Однако, когда такие вещи, как OpenCL, становятся мейнстримом, мы можем увидеть, что ODE / Bullet / kin начинает это включать ... IOW, если вы сейчас закодируете его с помощью ODE / Bullet / kin, вы можете (возможно, в конечном итоге) получить ускорение GPU для "бесплатно" позже (без изменений в вашем коде). Он все равно будет вести себя немного иначе с версией графического процессора (неизбежная проблема из-за эффекта бабочки и различий в реализации с плавающей запятой), но по крайней мере у вас будет сообщество ODE / Bullet / kin, работающее с вами, чтобы уменьшить этот разрыв .
Это моя рекомендация: использовать физическую библиотеку с открытым исходным кодом, которая в настоящее время использует только ЦП, и подождать, пока она использует графические процессоры через OpenCL, CUDA, потоковый язык ATI и т. Д. Когда это произойдет, производительность будет стремительно падать, и Вы избавите себя от головной боли.