From Wikipedia - Reading time: 7 min
It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. The article may be deleted if this message remains in place for seven days, i.e., after 11:01, 24 July 2025 (UTC). Find sources: "Physics Abstraction Layer" – news · newspapers · books · scholar · JSTOR |
This article needs additional citations for verification. (November 2024) |
| Physics Abstraction Layer | |
|---|---|
![]() | |
![]() | |
| Developer(s) | sourceforge |
| Written in | C, C++ |
| Operating system | Cross-platform |
| Type | Middleware |
| License | Three clause BSD license |
| Website | www |
The Physics Abstraction Layer (PAL) is an open-source cross-platform physical simulation API abstraction system. It is similar to a physics engine wrapper, however it is far more flexible providing extended abilities. PAL is free software, released under the BSD license. [1]
PAL is a high-level interface for low-level physics engines used in games, simulation systems, and other 3D applications. It supports a number of dynamic simulation methodologies, including rigid body, liquids, soft body, ragdoll, and vehicle dynamics. PAL features a simple C++ API and intuitive objects (e.g. Solids, Joints, Actuators, Sensors, and Materials). It also features COLLADA, Scythe Physics Editor, and XML-based file storage.
The Physics Abstraction Layer provides a number of benefits over directly using a physics engine:
PAL is designed with a pluggable abstract factory allowing code to be written and compiled once and allowing runtime selection of different physics engines, as well as feature upgrades.
PAL supports multiple physics engines, including:
PAL supports multiple file formats, including: [2]
The PAL project provides a set of standard benchmarks allowing developers to directly compare the physics engines and select the engine that provides the best solution in terms of computational efficiency and physical accuracy. Care should be taken when deciding on which engine to actually use though, since engines may be tweaked in ways which PAL doesn't support.