Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Уровень абстракции физики ( PAL ) - это кроссплатформенная система абстракции API физического моделирования с открытым исходным кодом . Он похож на оболочку физического движка , но гораздо более гибок и предоставляет расширенные возможности. PAL - это бесплатное программное обеспечение, выпущенное под лицензией BSD.

PAL - это высокоуровневый интерфейс для низкоуровневых физических движков, используемых в играх, системах моделирования и других 3D-приложениях. Он поддерживает ряд методологий динамического моделирования , включая твердое тело , жидкости , мягкое тело , тряпичную куклу и динамику транспортного средства . PAL имеет простой API C ++ и интуитивно понятные объекты (например, твердые тела , соединения , приводы , датчики и материалы ). Он также имеет COLLADA , Scythe Physics Editor и хранилище файлов на основе XML .

Уровень абстракции физики предоставляет ряд преимуществ по сравнению с непосредственным использованием физического движка:

  • Гибкость - позволяет разработчикам переключаться между различными физическими движками, чтобы увидеть, какой движок отвечает их потребностям, а также быстро тестировать новый движок.
  • Переносимость - разработчики могут использовать физический движок, который обеспечивает лучшую производительность для различных платформ, и могут писать независимый от платформы код.
  • Безопасность - если поставщик промежуточного программного обеспечения приобретен другой компанией или разработка прекращена, разработчики могут переключить механизмы.
  • Масштабируемость - уровень абстракции позволяет разработчикам запускать свой код на портативных консольных платформах вплоть до суперкомпьютеров.
  • Простота использования - детали реализации физического движка абстрагируются, что обеспечивает более понятный интерфейс для разработчика.
  • Бенчмаркинг - исследователи могут напрямую сравнивать производительность различных систем динамического моделирования .

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

Поддерживаемые движки [ править ]

PAL поддерживает несколько физических движков , в том числе:

  • Box2D
  • Пуля
  • Newton Game Dynamics
  • Open Dynamics Engine
  • PhysX (ранее NovodeX и включающий Meqon )
  • Физический движок токамака

Поддерживаемые форматы файлов [ править ]

PAL поддерживает несколько форматов файлов, в том числе:

  • КОЛЛАДА
  • Формат файлов Scythe Physics Editor
  • XML

Контрольный показатель [ править ]

Проект PAL предоставляет набор стандартных тестов, позволяющих разработчикам напрямую сравнивать физические движки и выбирать движок, обеспечивающий лучшее решение с точки зрения вычислительной эффективности и физической точности. Однако следует проявлять осторожность при принятии решения о том, какой движок на самом деле использовать, поскольку движки могут быть изменены способами, которые PAL не поддерживает.

Ссылки [ править ]

Внешние ссылки [ править ]

  • Официальный сайт PAL
  • Интерактивный тест PAL