05/12/2018

PhysX, le moteur physique de NVIDIA passe en licence BSD

Le moteur PhysX 4 de NVIDIA se focalisera sur la précision de la simulation et change de licence pour devenir «réellement» libre.

Le moteur de calcul physique de NVIDIA a plus de 15 ans. Créé en 2002 sous le nom Novodex, son objectif était déjà de libérer de la puissance de calcul des processeurs génériques par l’adjonction d’une carte PCI dédiée. Après divers rachats et la montée en puissance de cartes graphiques programmables, le logiciel a bien évolué.

Depuis 20015, le code source propriétaire de PhysX est disponible sur GitHub, à condition de s’enregistrer auprès de NVIDIA. Depuis quelques jours la société a rendu ce code réellement libre, en passant le code source de PhysiX sous licence BSD. Même si le dépôt public n’est toujours pas celui du logiciel en cours de développement, l’adoption de cette licence plus permissive améliore la situation des développeurs de logiciel libre en matière de modification et de redistribution. En effet, dans le cadre d’une licence BSD-3, l’œuvre modifiée ou intégrée à un projet plus grand, peuvent être distribuées sous une autre licence et sans le code source. Ce n’est pas encore l’ouverture intégrale, mais c’est un pas dans la bonne direction.

PhysiX 4.0

La dernière mouture du moteur, PhysiX 4.0, est concernée par ce changement de licence. La sortie de ce dernier est prévue le 20 décembre prochain. Il se concentrera sur la précision de la simulation, afin que l’usage du moteur de calcul s’étende à d’autres activités que le secteur vidéoludique. Au registre des 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.

Côté 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 produit une vidéo démontrant les capacités de cette nouvelle version, notamment en la comparant à PhysX 3.4. Dans la scène produite, on y voit un bras robotisé simulé par PhysX 4 parfaitement déplacer des pièces sur un jeu d’échecs, tandis que celui simulé par PhysX 3.4 renverse un grand nombre de pièces, à cause du manque de stabilité de sa simulation. 

Libre, mais pas trop

La libération de PhysiX est certes une bonne nouvelle. Seulement nous pouvons nous interroger sur la stratégie globale de la firme puisque les autres modules physiques de GameWorks (comme NvCloth, Blast ou Flow) ne sont pas concernés par le changement de licence. Ceux-ci restent sous une licence propriétaire.Il en est de même pour les codes à destination des consoles (Xbox One, PS 4 et Switch).

Source : news.developer.nvidia.com

Actualités