Новости про Bullet Physics

В Bullet Physics 3 расширится использование GPU-ускорения для физики

Разработчики надеются выпустить к марту следующую версию открытого физического движка с поддержкой аппаратного ускорения на GPU.

Сотрудник AMD и по совместительству основной разработчик SDK для работы с физическими симуляциями Bullet Physics, Erwin Coumans, дал интервью сайту fxguide.com, в котором рассказал о состоянии и планах развития движка в рамках открытой физической инициативы AMD. Мы приводим выдержку высказываний и озвученных фактов из интервью:

  • Bullet Physics получил заметную популярность благодаря открытому исходному коду и достаточно свободной лицензии ZLib, в отличие от проприетарных решений вроде Havok и PhysX. Он также предлагает больше возможностей, чем другие открытые движки, вроде ODE.
  • В рамках открытой физической инициативы разработчики будут стараться создавать повторно используемые низкоуровневые компоненты, которые разработчики смогут интегрировать в собственные физические движки.
  • Bullet Physics помимо открытой версии имеет и закрытый компонент поддержки для платформы Sony Playstation 3 под названием «Physics Effects», и Sony продолжит его поддержку и в дальнейшем. В планы команды входит разработка поддержки платформы Xbox 360 и GPU-ускоряемой версии для API OpenCL и Microsoft Direct Compute.
  • Обработка физики столкновений в Bullet разбита на две основных фазы: фазу исключения несталкивающихся объектов из сцены и фазу точного расчёта точек столкновения объектов. Уже имеется реализация первой фазы с ускорением через OpenCL, но она имеет ограничения по размеру объектов.
  • Имеется множество способов ускорения вычислений физических симуляций, и хотя графические процессоры достаточно хороши для упрощённых расчётов, некоторые сложные алгоритмы, особенно с ветвлением, лучше выполняются на центральных процессорах. Оптимальным для физики будет совместное использование и центральных, и графических процессоров, что особенно перспективно для платформ Sandy Bridge и Fusion, где CPU и GPU практически слились в одно целое.
  • Релиз версии 3.х Bullet Physics намечен на март этого года и будет приурочен к очередной ежегодной конференции разработчиков игр (GDC). В новой версии ускорение через OpenCL и Direct Compute будет расширено на части общего физического конвейера, в дополнение к уже имеющемуся ускорению симуляций ткани.
  • Несмотря на нехватку ресурсов у разработчиков, Bullet Physics останется с открытым исходным кодом, и Erwin Coumans намерен не допустить привязок движка к проприетарным решениям кого-либо из производителей оборудования.

Bullet Physics был выбран в 2009 году AMD в качестве основы для открытой платформы GPU-ускоряемой игровой физики, в противовес закрытому решению GPU PhysX от NVIDIA. Осенью 2010 года сотрудничество дало плоды в виде первой публичной версии SDK 2.77 с поддержкой аппаратного ускорения, работающего для видеокарт всех производителей. Движок Bullet был также выбран Futuremark для тестов физики в составе бенчмарка 3DMark 11, сменив использовавшийся в 3DMark 2006 и 3DMark Vantage движок PhysX.

Bullet Physics теперь поддерживает аппаратное ускорение

Физический движок Bullet теперь умеет использовать GPU для ускорения через OpenCL и DirectCompute.

Давние разговоры корпорации AMD об открытой физической инициативе наконец-то увенчались успехом: с помощью компании физический движок Bullet Physics с открытым исходным кодом обрёл поддержку ускорения мощностями GPU через OpenCL. В новом SDK 2.77 аппаратное ускорение реализовано для модуля симуляции одежды (BulletSoftBody), в будущих версиях ускорение поддержат и прочие модули. Реализация поддерживает ускорение в системах с поддержкой OpenCL как от AMD, так и от NVIDIA, на всех основных платформах (Windows, MacOS и Linux).

Помимо OpenCL, Bullet Physics также умеет использовать и DirectCompute, альтернативный API GPGPU от Microsoft, включенный в состав DirectX 11. Также в новой версии SDK оптимизирован модуль btParallelConstraintSolver для поддержки многопоточного исполнения на CPU, на платформах PC и PlayStation 3.

Загрузить последнюю версию SDK можно с сайта проекта на Google Code. Конечно, поддержка ускорения в SDK еще не означает поддержки в играх — игр еще придется подождать, но примерами из SDK поддержка уже не ограничивается: авторы движка клонировали плагин NVIDIA PhysX для 3DS Max, заменив в нём PhysX на Bullet Physics, что должно ускорить появление игр на Bullet Physics.

Детали о «физических» технологиях AMD с GDC 2010

Море будущих достоинств и шпильки в адрес оппонентов.

По своим технологиям AMD подтверждает приверженность «открытой физической инициативе», выражающейся в конкретном сотрудничестве с Bullet и Pixelux по реализации физических алгоритмов как на центральных процессорах с использованием многопоточности, так и на графических, используя API DirectCompute и OpenCL. Симуляции физики твёрдых тел, мягких тел, частиц и потоков, одежды — всё это будет в поддерживаемых физических движках, со временем.

Была показана и очередная провокационная картинка в адрес PhysX — результаты опросов «чего хотят женщины геймеры». С большим перевесом геймеры хотят Eyefinity и DirectX 11, правда, первый вопрос напоминает известный детский «Что сильнее: слон или кит?», сравнивать Eyefinity можно разве что с 3D Vision Surround, со вторым вопросом после выхода Fermi у NVIDIA будет и то, и то, а у AMD так и останется один пункт.

Тонкие намеки содержались и в еще одном слайде, посвящённом успехам самой AMD-ATI в стандартизации своих проприетарных поначалу технологий:

Также появилось первое видео (MPEG-4, ~8 Мб), демонстрирующее работу физического движка, включая разрушаемость и деформации.

Открытая физическая инициатива от AMD — новые подробности

Открытый стандарт физики начинает воплощаться в конкретику.

Согласно опубликованному пресс-релизу, совместная работа AMD, Bullet и Pixelux близится к воплощению в конкретные движки и программные продукты. В основу открытого движка ляжет технология расчётов столкновений твёрдых тел от Bullet Physics и система «физических» свойств материалов Digital Molecular Matter (DMM) от Pixelux. AMD разработает некий инструмент физического моделирования для разработчиков игр, позволяющий объединить обе технологии в игре, а также проспонсирует бесплатную лицензию DMM для использования в PC-проектах. «Лидирующем» же движком для демонстрации набора физических технологий от «красных» станет Vision Engine от Trinigy, должный стать тем же, чем стал Unreal Engine 3 для PhysX.

Ускорение физических расчётов на GPU будет доступно через OpenCL и DirectCompute API, реализуемых посредством ATI Stream для GPU AMD. В будущем, помимо физики твёрдых тел, аппаратное ускорение будет обеспечено и для системы частиц/потоков, симуляции одежды и столкновений мягких тел в составе Bullet Physics. После этого физический движок AMD-Bullet-Pixelux может даже превзойти PhysX, в котором в настоящее время нет аппаратного ускорения для физики твёрдых тел. Правда, симуляция последних не составляет заметной нагрузки для современных CPU, а в играх с использованием PhysX, таких как Dark Void или Cryostasis, востребовано как раз ускорение симуляций частиц/потоков. Будем надеяться, что в этом году AMD сможет на деле показать преимущества своих физических решений вместо голословных нападок на PhysX.

Bullet Physics готовится к OpenCL-ускорению

В новом обновлении физического движка проведена подготовка к использованию OpenCL в следующей версии.

В SDK версии 2.76 популярного физического движка с открытым исходным кодом Bullet Physics сделаны необходимые приготовления к поддержке исполнения через OpenCL и обновлены предварительные демонстрации MiniCL. Объявлено, что будущие версии 3.х движка будут поддерживать OpenCL «штатно». Напомним, что разработку движка Bullet поддержала корпорация AMD в рамках программы Open Physics в качестве противовеса PhysX от NVIDIA, хотя изначально движок поддерживала NVIDIA в направлении использования CUDA.

Кроме того, в новой версии введён бинарный платформонезависимый формат экспорта-импорта физических данных .bullet, улучшен плагин Dynamica для Autodesk Maya и добавлены предварительные версии новых инструментов: btInternalEdgeUtility для исключения ненужных коллизий при взаимодействии объектов и редактор/отладчик физики. Загрузить код SDK можно со страницы проекта на Google.

Бесплатный 3D движок Cafu Engine

Еще один бесплатный 3D движок для игр под GPL.

Ранее известный как Ca3DE, движок Cafu Engine переведён в разряд FreeWare и открыт исходный код. Cafu Engine, как и недавно также ставший бесплатным 3Impact, ориентирован на «хардкорных» C++ разработчиков, но содержит большое количество готовых инструментов. Графическая часть поддерживает работу с материалами, попиксельным освещением и шейдерными эффектами, для рендеринга используется OpenGL 2.0 с поддержкой фирменного языка шейдеров NVIDIA Cg. Движок предлагает встроенные функции создания многопользовательского режима (клиент-серверной архитектуры), импорт моделей из популярных форматов, создание растительности, кривые поверхности Безье, эффекты на системе частиц. Для игровой физики используется Bullet Physics.

Движок доступен для платформ Windows (~80 Мб) и Linux (~70 Мб) под лицензией GPLv3. Поддерживаются как 32-, так и 64-разрядные версии, версия для MacOS планируется в будущем. Средний рейтинг движка на сайте DevMaster.net составляет 4 балла — как у популярного OGRE.

Cafu Engine Demo Video
Возможно, кто-то найдёт в нём то, чего не нашел в Unreal Engine 3.

Интервью с менеджером AMD по сотрудничеству с разработчиками игр

Недавно интервью сайту bit-tech.net дал высокопоставленный сотрудник AMD, отвечающий за отношения с разработчиками игр. Richard Huddy когда-то работал в NVIDIA как раз в программе TWIMTBP, так что его видение актуально и для поклонников «зеленого» лагеря. Мы приводим представляющие интерес факты из интервью.

  1. Программа NVIDIA TWIMTBP — прежде всего инструмент маркетинга. AMD тоже весьма плотно сотрудничает с разработчиками, и не только предоставляет образцы оборудования и бета-версии драйверов (иногда по несколько версий за день), но и инженерную помощь вплоть до командировки своих сотрудников в студии. Благодаря такому сотрудничеству уже через месяц после появления новой версии DirectX 11 вышли игры с его поддержкой, чего раньше не бывало. Просто AMD не выпячивает эту работу наружу.
  2. Хотя команда AMD по сотрудничеству с разработчиками количественно меньше, чем у NVIDIA, в  ней много первоклассных инженеров. Большинство игр уровней ААА и АА проходят тестирование в лаборатории качества AMD. Проблемы с качеством графики/работоспособностью игр на оборудовании AMD возникают лишь у тех разработчиков, кто целенаправленно игнорирует возможности сотрудничества.
  3. Заявления NVIDIA о готовности лицензировать PhysX всем желающим, мягко говоря, неискренни. Фактически мы (AMD) вели с ними переговоры по данному поводу и они ясно дали нам понять, что мы «можем пойти погулять».
  4. NVIDIA проделала с PhysX тот же трюк, что и Intel с компиляторами — ограничила параллельное исполнение на нескольких ядрах/CPU. Люди сталкиваются с медленной работой PhysX на центральном процессоре и думают, что графические процессоры в этих делах намного быстрее, что далеко не всегда так, если не урезать число вычислительных потоков до одного-двух.
  5. В AMD не видят трагедии в стагнации рынка PC-игр и уходе большинства разработчиков на консоли. AMD и так поставила графические чипы для 90 миллионов консолей Wii и XBox 360, а в будущем и консоли, и компьютеры просто превратятся в терминалы, показывающие картинку, рассчитанную на распределенных серверных «фермах».
  6. AMD готова работать с разработчиками игр и по оптимизации для своих центральных процессоров, но большинство разработчиков не видят в оптимизации под CPU какого-либо смысла.
  7. Помимо работы над готовящейся GPU-ускоряемой версией Bullet Physics, продолжается сотрудничество с Havok по использованию мощностей графических процессоров для расчетов игровой физики через интерфейс OpenCL, а также с движком Pixelux.
  8. Нет ничего удивительного в откладывании «графического» релиза Larrabee, инженеры Intel столкнулись со всеми проблемами, о которых их предупреждали: избыточность и малопригодность набора инструкций IA-86 для графики, плохая производительность в случае ограниченных возможностей параллелизма, высокие временные задержки при работе с памятью. «Нельзя просто взять двадцать моторов от трамвая, засунуть их в спортивную машину и ждать от нее рекордов скорости».
  9. Технология многомониторности Eyefinity пока что ориентирована больше на профессиональных геймеров, способных выложить по $200 за каждый дополнительный монитор и трансформировать пользу из расширения видимой области в конкретное повышение результатов. AMD не будет особо работать с разработчиками над патчами для уже вышедших игр и сконцентрируется на нескольких будущих мультиплейерных хитах.

Какая технология ускорения физики наиболее перспективная?

Сайт ExpReview провёл опрос среди своих читателей, какая технология ускорения физики наиболее перспективная?

Бесспорно, физика является неотъемлемой частью современного игрового процесса, добавляя качественные и впечатляющие эффекты динамического взаимодействия объектов в игровом мире. На сегодняшний день только два физических движка практически всецело доминируют на рынке — это NVIDIA PhysX и Intel Havok. Однако, в последнее время AMD участвует в продвижении ещё одного движка — Bullet, способного стать компромиссом в стандартизации аппаратного ускорения физики средствами видеокарты. Какая же из трёх перечисленных технологий, по мнению пользователей, имеет больше всего преимуществ?

В опросе оставили своё мнения пока лишь 200 зарегистрированных читателей сайта ExpReview. Технология Bullet ещё не успела показать себя в действии, но уже сегодня пользователи с достоинством оценили этот физический движок, поставив его на один уровень с PhysX.

PixeLux Bullet  Physics (36%, 74 голоса)

NVIDIA PhysX (36%, 74 голоса)

Intel Havok Physics (28%, 58 голосов)

Можно предположить, что среди людей, отдавших свой голос за Bullet, больше всего владельцев видеокарт ATI, ведь он лишены возможности аппаратного физического ускорения. Результаты проведённого опроса отражают желания пользователей, а значит, и направление развития индустрии. Ведь ни Intel, ни NVIDIA не намерены предоставлять ускорение на видеокартах ATI, пока не появится альтернативный физический движок. Что касается разработчиков, то они, безусловно, сделают выбор в пользу Bullet только в том случае, если в их игровом проекте не обойтись без расширенных физических эффектов, с обработкой которых не справится центральный процессор. В случае же использования физики лишь в качестве красивого дополнения, без которого сегодня невозможно представить игры, у создателей будет возможность сделать выбор из трёх технологий с учётом наиболее удобных инструментов, предоставляемых в пакетах. И в данном случае, NVIDIA обещает быть лучшей.

NVIDIA также поддерживает движок Bullet Physics

На прошлой неделе AMD сообщила о начале сотрудничества с Pixelux Entertainment с целью ввести поддержку аппаратного ускорения в физический движок с открытым кодом Bullet Physics, который занимает третье место (около 10 %) по популярности среди разработчиков. Движок будет переписан для работы с открытым API OpenCL, то есть, в отличие от PhysX, движок Bullet будет работать как на картах ATI, так и NVIDIA.

Журналисты сайта Icrontic обратились к руководителю технического маркетинга NVIDIA Тому Питерсену с целью узнать, что сможет изменить движок Bullet в политике компании и на рынке в целом.

Icrontic:Собирается ли NVIDIA поддерживать Bullet Physics, ведь он основан на открытых индустриальных стандартах, поддерживаемых NVIDIA?

Том Питерсен:NVIDIA поддерживает Bullet (мы встретились с Эрвином на технологической конференции по видеокартам). Мы приветствуем любые программы или API, которые помогают кому-то более эффективно использовать GPU. По существу, по словам Эрвина, он использует видеокарты NVIDIA для разработки своего кода. По этому поводу он даже предоставил нам цитату:

«GPU-ускорение Bullet с помощью OpenCL будет работать с любыми совместимыми драйверами, для нашей разработки мы используем видеокарты NVIDIA GeForce и даже употребляем примеры кода из их OpenCL SDK, они замечательный технологический партнёр.

Эрвин Камэнс, Создатель движка Bullet Physics».

Icrontic:Какую помощь, если она есть, NVIDIA намерена предоставить проекту Bullet Physics?

Том Питерсен:Мы будем продолжать оказывать любую помощь, которая в наших силах, для команды Bullet. В настоящее время они используют драйвер OpenCL, предоставленный NVIDIA.

Icrontic:Как по мнению NVIDIA повлияет создание третьего физического движка на потребителей?

Том Питерсен:NVIDIA продвигает использование GPU для улучшения игрового процесса на ПК. Если Bullet сможет сделать то же для некоторых разработчиков в некоторых играх, то мы поддерживаем это. Одновременно, NVIDIA продолжит вводить новшества в PhysX на своих видеокартах. Мы предоставим комплексное решение, включающее инструменты разработки, настройки производительности, управления информационным содержанием и поддержку разработчиков — это даст весомые преимущества пользователям нашей продукции, как в случае с игрой Batman Arkham Asylum.

Icrontic:Bullet — это «правильный ответ» на несовместимость между PhysX и Havok?

Том Питерсен:Я не думаю, что это единственное решение. Каждая реализация физики имеет свои сильные стороны. Позиция NVIDIA заключает в том, что хорошая производительность и комплексное решение необходимы, чтобы предоставить мощное решение. Мы много уделяем внимания нашей разработке APEX (среда разработки, позволяющая реализовывать эффекты разрушений, воздуха, одежды, растений, а также инструменты отладки), чтобы сделать использование PhysX для разработчиков более простым. Если говорить коротко, то NVIDIA инвестирует средства в интеллектуальные разработки, и мы поддерживаем независимые инициативы, делающие то же самое.

NVIDIA стоит на позиции продвижения собственного движка PhysX, который, очевидно, врядли намерена делать в ближайшее время индустриальным стандартом, то есть решением с открытым кодом и поддержкой аппаратно-программных интерфейсов OpenCL или DirectCompute. С другой стороны, NVIDIA не хочет оставлять аппаратное ускорение Bullet Physics эксклюзивной технологией ATI, и поэтому оказывает посильную помощь проекту.

Отсюда видно, что Bullet Physics должен стать инструментом № 1 среди разработчиков, чтобы аппаратное ускорение физики стало индустриальным стандартом. Но для этого, как справедливо отметил Том Питерсен, необходимы мощные инструменты разработчика, сопоставимые с теми, которые предоставляет NVIDIA. В противном случае, большая часть игровых проектов будут разрабатываться с учётом того, что физические расчёты должны осуществляться центральным процессором, как это происходит в настоящее время даже с многими приложениями, использующими PhysX SDK.

NVIDIA потратила большие деньги на покупку бесплатного движка PhysX и его дальнейшее продвижение и, конечно, должна получить от этих затрат максимальную отдачу. То есть компании выгодней, чтобы PhysX был популярнее других решений и ускорялся только на видеокартах GeForce. AMD, в свою очередь, утверждает, что PhysX станет бесполезным для NVIDIA. Заявление бесспорное, но когда это произойдёт, судить очень сложно.

AMD и Pixelux объединят усилия для ускорения физики на OpenCL

Шесть месяцев назад компания AMD вместе с Havok во время конференции разработчиков игр демонстрировала аппаратное ускорение физики тканей через OpenCL. Однако, по всей видимости, далее такой демонстрации пока дело не пойдёт: Intel не хочет выпускать Havok с поддержкой аппаратного ускорения до выхода Larrabee. Поэтому на днях компания AMD в пресс-релизе сообщила о начале работы c компаний Pixelux Entertainment, разработчиком третьего по популярности физического движка Bullet Physics.

Результатом этого сотрудничества должно стать появление версии движка Bullet Physics, поддерживающего ускорение средствами видеокарт через стандарт OpenCL. Важно отметить, что в отличие от PhysX, AMD собирается создать полностью открытый стандарт, ускоряющий физику с помощью любого оборудования OpenCL на любой платформе, в том числе и средствами видеокарт NVIDIA GeForce.

Между прочим, движок Bullet Physics использовался в такой достаточно известной игре как Star Wars: The Force Unleashed и Indiana Jones от LucasArts, версия для ПК которой выходит в этом году.

Выбор AMD пал на OpenCL, а не на DirectCompute потому, что последний стандарт привязан к API DirectX, то есть к Windows, в то время как OpenCL является отдельным, цельным вычислительным решением.

Не упустила AMD в своём пресс-релизе и сделать упрёк в сторону PhysX, отметив, что NVIDIA, создав стандарт, исполняющейся только на видеокартах GeForce, разделяет пользователей и разработчиков и тем самым тормозит развитие графической индустрии.

Однако, если NVIDIA столкнётся с сильным открытым стандартом ускорения физики, то она быстро перенесёт PhysX на OpenCL или DirectCompute, что позволит разработчикам, наконец, без оглядки на производителей оборудования использовать в своих играх богатые физические эффекты. Ждём OpenCL-версию Bullet Physics.

AMD поддерживает физический движок Bullet, разрабатываемый на GeForce

Журналисты ресурса Fudzilla сообщили, что на одной из конференций NVIDIA сказала, что господин Эрвин Куманс, создатель движка Bullet Physics разрабатывает его на картах GeForce. Между прочим, именно этот физический движок AMD хочет ускорить с помощью своих видеокарт через OpenCL.

Также Эрвин Куманс отметил: «Ускорение средствами видеокарт AMD расчётов Bullet через OpenCL будет работать на любом совместимом драйвере: к примеру, мы использовали видеокарты NVIDIA GeForce для нашей разработки и даже применили код из их инструментов для разработчиков: NVIDIA является отличным технологическим партнёром».

Это означает, что аппаратное ускорение Bullet разрабатывается на видеокартах NVIDIA GeForce, несмотря на то, что AMD собирается представить драйвер и аппаратное ускорение для Bullet Physics. Кстати, это же сообщение говорит в пользу того, что аппаратное ускорение Bullet Physics будет прекрасно работать на видеокартах GeForce.

Так или иначе, но NVIDIA сейчас намного впереди с реализацией аппаратного ускорения физики: её движок PhysX является самым популярным. Havok занимает второе место, однако Intel, владеющая этим стандартом, ни за что не даст реализовать аппаратное ускорение физики Havok на видеокартах AMD или NVIDIA: ей он ещё понадобится для Larrabee.

Bullet Physics занимает лишь третье место, однако, благодаря будущей поддержке OpenCL и полной открытости, у него есть все шансы примирить разработчиков и производителей видеокарт, став индустриальным стандартом.

Есть ещё один достаточно популярный физический движок — Open Dynamics Engine, однако он занимает всего 4,1 % рынка.

Слухи: движок игровой физики Bullet Physics будет портирован на OpenCL при поддержке AMD

Не смотря на многократные отрицания важности NVIDIA PhysX и GPU физики в целом, AMD возможно всё-таки ступит на территорию аппаратно-ускоряемой игровой физики.

По появившейся в Сети информации, Bullet Physics Library, комплекс библиотек для имитации физических процессов с открытым исходным кодом, при поддержке AMD будет переработан для использования API универсальных вычислений OpenCL. По данным августовского исследования издания Game Developer Magazine, Bullet Physics является третьей по популярности библиотекой физики у разработчиков после принадлежащего NVIDIA PhysX и Havok от Intel. С учетом появившегося вчера на сайте AMD пресс-релиза об отправке своих OpenCL-совместимых решений (включая «фирменные» средства для разработчиков ATI Stream) на сертификацию разработчику OpenCLKronos Group, это может стать серьёзной заявкой AMD на лидерство в области игровой физики.

Любопытно, что ранее разработчики Bullet Physics проявляли интерес к технологии NVIDIA CUDA, и даже выпустили комплект демонстраций с использованием CUDA 2.1 к прошедшей в марте этого года Game Developers Conference`09. От разработчиков Bullet Library пока не поступало официальных подтверждений о сотрудничестве с AMD, как и пояснений о судьбе адаптации для NVIDIA CUDA.