Слой физической абстракции
![]() | |
![]() | |
Разработчик(и) | исходная кузня |
---|---|
Написано в | С , С++ |
Операционная система | Кросс-платформенный |
Тип | Промежуточное ПО |
Лицензия | Трехпунктовая лицензия BSD |
Веб-сайт | www |
Уровень абстракции физики ( PAL ) — это с открытым исходным кодом кроссплатформенная физического моделирования система абстракции API . Он похож на физического движка оболочку , однако гораздо более гибок и предоставляет расширенные возможности. PAL — бесплатное программное обеспечение, выпущенное под лицензией BSD.
PAL — это высокоуровневый интерфейс для низкоуровневых физических движков, используемых в играх, системах моделирования и других 3D-приложениях. Он поддерживает ряд методологий динамического моделирования , включая твердое тело , жидкости , мягкое тело , тряпичную куклу и динамику транспортных средств . PAL имеет простой C++ API и интуитивно понятные объекты (например, Solids , Joints , Actuators , Sensors и Materials ). Он также включает COLLADA , Scythe Physics Editor и XML хранилище файлов на основе .
Уровень абстракции физики предоставляет ряд преимуществ по сравнению с прямым использованием физического движка:
- Гибкость. Это позволяет разработчикам переключаться между различными физическими движками , чтобы увидеть, какой из них соответствует их потребностям, а также быстро тестировать новый движок.
- Портативность — разработчики могут использовать физический движок, который обеспечивает наилучшую производительность для различных платформ, и могут писать независимый от платформы код.
- Безопасность. Если поставщик промежуточного программного обеспечения приобретается другой компанией или разработка прекращается, разработчики могут сменить движок.
- Масштабируемость . Уровень абстракции позволяет разработчикам запускать свой код на портативных консольных платформах и вплоть до суперкомпьютеров.
- Простота использования. Детали реализации физического движка абстрагированы, что обеспечивает более понятный интерфейс для разработчика.
- Бенчмаркинг . Исследователи могут напрямую сравнивать производительность различных систем динамического моделирования .
PAL разработан с использованием подключаемой абстрактной фабрики, позволяющей писать и компилировать код один раз, а также выбирать во время выполнения различные физические движки , а также обновлять функции.
Поддерживаемые двигатели
[ редактировать ]PAL поддерживает несколько физических движков , в том числе:
- Коробка2D
- Пуля
- Ньютон Игровая Динамика
- Открытый динамический движок
- PhysX (ранее NovodeX и включающий Meqon )
- Физический движок Токамак
Поддерживаемые форматы файлов
[ редактировать ]PAL поддерживает несколько форматов файлов, в том числе:
- СОБРАНО
- редактора физики Scythe Формат файла
- XML
Контрольный показатель
[ редактировать ]Проект PAL предоставляет набор стандартных тестов, позволяющих разработчикам напрямую сравнивать физические движки и выбирать движок, который обеспечивает лучшее решение с точки зрения вычислительной эффективности и физической точности. Однако следует проявлять осторожность при принятии решения о том, какой движок на самом деле использовать, поскольку движки могут быть настроены способами, которые не поддерживаются PAL.