PhysX, le moteur physique de NVIDIA devient libre,
PhysX 4 se focalisera sur la précision de la simulation

Le , par dourouc05, Responsable Qt & Livres
PhysX est le moteur physique de NVIDIA. Il a commencé son histoire comme NovodeX, en 2002, en Suède, avant d'être racheté par Ageia en 2004 : l'objectif était de fournir un accélérateur pour les calculs physiques (une carte PCI à intégrer dans son ordinateur), ce qui libère les autres processeurs lors de l'exécution d'un jeu. NVIDIA a alors racheté Ageia en 2008 : les accélérateurs physiques ont alors été remplacés par les cartes graphiques, devenues plus puissantes et plus programmables.

En 2015, NVIDIA a ouvert le code source de PhysX sur GitHub. Il fallait s'enregistrer sur le site de NVIDIA pour avoir accès au code sous une licence propriétaire. Depuis hier, ce code est vraiment libre : il est disponible sous licence BSD sans condition, toujours sur GitHub. Certes, le dépôt public n'est pas celui de développement, mais la situation s'améliore franchement d'un point de vue libriste. Les autres modules physiques de GameWorks (comme NvCloth, Blast ou Flow) ne sont pas concernés : ils restent sous une licence propriétaire, même s'il suffit de s'enregistrer pour y avoir accès. De même, le code pour les consoles (Xbox One, PS 4 et Switch) n'est pas libéré.

PhysX 4.0 sera aussi concerné par cette libération du code, lors de sa sortie (prévue le 20 décembre). Comme annoncé lors de la GDC 2018, cette version se focalise sur la précision de la simulation, de telle sorte que le moteur physique ne soit pas qu'utile dans les jeux. Dans les nouvelles fonctionnalités, on compte un nouveau solveur, TGS (temporal Gauss-Seidel), pour toutes les articulations et jointures. La robustesse de cette méthode est notamment due au fait que les contraintes sont recalculées à chaque itération. Toujours dans les jointures, l'adjonction des coordonnées réduites augmente fortement la stabilité numérique.

Au niveau de la performance, de nouvelles méthodes de filtrage ont été introduites pour la cinématique et la statique. Une nouvelle hiérarchie de volumes englobants sert à accélérer les requêtes dans les scènes qui comportent un grand nombre d'objets simulés.
NVIDIA a aussi produit une vidéo qui démontre les prouesses de cette nouvelle version, notamment en la comparant à PhysX 3.4. La scène sur le jeu d'échecs vaut le détour : on y voit un bras robotisé simulé par PhysX 4 parfaitement déplacer des pièces, tandis que celui simulé par PhysX 3.4 renverse un grand nombre de pièces, à cause du manque de stabilité de sa simulation.


Source : NVIDIA announces PhysX SDK 4.0, makes engine open-source under BSD-3 license, NVIDIA Extends PhysX for High Fidelity Simulations, Goes Open Source.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de darklinux darklinux - Membre régulier https://www.developpez.com
le 04/12/2018 à 7:02
Depuis le temps , Nvidia aurait faire cela il y a bien longtemps
Avatar de Steinvikel Steinvikel - Membre éclairé https://www.developpez.com
le 04/12/2018 à 16:55
Pourquoi aurait-il livré un hypothétique atout face à un concurrent pour qui ce type de démarche est monnaie courante ? --> aucun impacte.
Il le livre aujourd'hui car il montre une belle image par son apparente générosité, permettant une démarcation favorable dans les esprits, durant une période ou sa concurrence est mise à mal.

Citation Envoyé par dourouc05 Voir le message
PhysX est le moteur physique de NVIDIA. Il a commencé son histoire comme NovodeX, en 2002, en Suède, avant d'être racheté par Ageia en 2004 : l'objectif était de fournir un accélérateur pour les calculs physiques (une carte PCI à intégrer dans son ordinateur), ce qui libère les autres processeurs lors de l'exécution d'un jeu. NVIDIA a alors racheté Ageia en 2008
Ça fait du bien d'avoir des articles un peu plus fiable qu'ailleurs.
ex : "La techno PhysX remonte à 2005, avec sa création par Ageia. L’idée consistait à offrir une carte PCIe d’accélération dédiée pour gérer
en matériel les effets physiques d’un moteur 3D, finalement racheté par NVIDIA en 2008."

Citation Envoyé par dourouc05 Voir le message
Les autres modules physiques de GameWorks (comme NvCloth, Blast ou Flow) ne sont pas concernés : ils restent sous une licence propriétaire, même s'il suffit de s'enregistrer pour y avoir accès. De même, le code pour les consoles (Xbox One, PS 4 et Switch) n'est pas libéré.
Je ne suis pas sûr de comprendre. Est-ce qu'il faut comprendre que la partie du code de PhysX dédié à Xbox One, PS 4 et Switch, ne sont pas inclus dans la partie de PhysX couvert sous BSD 2 clauses... et par conséquent que PhysX est publié sous une double licence ?
Avatar de Bousk Bousk - Rédacteur/Modérateur https://www.developpez.com
le 04/12/2018 à 17:54
Citation Envoyé par Steinvikel Voir le message
Je ne suis pas sûr de comprendre. Est-ce qu'il faut comprendre que la partie du code de PhysX dédié à Xbox One, PS 4 et Switch, ne sont pas inclus dans la partie de PhysX couvert sous BSD 2 clauses... et par conséquent que PhysX est publié sous une double licence ?
Tout à fait.
Le code des consoles n'est jamais fournie. Il faut des autorisations des constructeurs et il faut prouver que tu as ces autorisations pour qu'ils te fournissent l'implémentation des plateformes concernées.

 
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -