PAL (logiciel)
From Wikipedia, the free encyclopedia
La Physical Abstraction Layer (PAL) est un système d'abstraction d'API de simulation physique open source et multiplateforme. Elle s'apparente à une interface de moteur physique, mais est bien plus flexible et offre des fonctionnalités étendues. PAL est un logiciel libre, distribué sous licence BSD[1].
PAL est une interface de haut niveau destinée aux moteurs physiques de bas niveau utilisés dans les jeux, les systèmes de simulation et d'autres applications 3D. Elle prend en charge diverses méthodologies de simulation dynamique, telles que les corps solides (en), les fluides numériques, les corps souples (en), les ragdolls et la dynamique des véhicules. PAL comprend une API C++ simple et des objets intuitifs (par exemple, des solides, des multicorps, des actionneurs, des capteurs et des frottements). Il inclut également COLLADA, l'éditeur Scythe Physics Editor (en) et un système de stockage de fichiers basé sur XML[2].
La couche d'abstraction physique offre toute une série d'avantages par rapport à l'utilisation directe d'un moteur physique [3]:
- Flexibilité : permet aux développeurs de passer d'un moteur physique à l'autre afin de déterminer lequel répond le mieux à leurs besoins, ainsi que de tester rapidement un nouveau moteur.
- Portage : les développeurs peuvent utiliser le moteur physique qui offre les meilleures performances sur différentes plateformes et écrire du code indépendant de la plateforme.
- Sécurité : si une autre entreprise rachète un fournisseur de middleware ou si le développement est interrompu, les développeurs peuvent changer de moteur.
- Extensibilité : la couche d'abstraction permet aux développeurs d'exécuter leur code sur des plateformes allant des consoles de jeux aux supercalculateurs.
- Facilité d'utilisation : les détails de mise en œuvre du moteur physique sont masqués, ce qui offre une interface plus épurée au développeur.
- Test de performance : les chercheurs peuvent comparer directement les performances de différents systèmes de simulation dynamique.
PAL est conçu autour d'une fabrique abstraite connectable qui permet d'écrire et de compiler le code une seule fois, tout en offrant la possibilité de choisir le moteur physique à utiliser lors de l'exécution, ainsi que de bénéficier des mises à jour des fonctionnalités[4].
PAL prend en charge divers moteurs physiques, tels que :
- Caixa 2D
- Bullet
- Newton Game Dynamics
- Open Dynamics Engine
- PhysX (anciennement NovodeX et intégrant Meqon)
- Tokamak
