В 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.