Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par dourouc05

51PARTAGES

17  0 
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.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Bill Fassinou
Chroniqueur Actualités https://www.developpez.com
Le 22/12/2018 à 12:31
La version 4.0 de PhysX de NVIDIA est disponible en open-source
avec de nouvelles méthodes de filtrage pour la cinématique et la statique

Tôt ce mois, l’américain NVIDIA a annoncé que son Kit de développement PhysX SDK sera désormais disponible en open source (sous la licence BSD à 3 clauses), ce qui signifie que les développeurs de jeux pourront modifier et étendre le Kit de développement PhysX SDK à leur guise. Le Kit de développement logiciel NVIDIA PhysX est une solution physique multi-plateforme évolutive prenant en charge une large gamme de périphériques, des smartphones aux processeurs multicœurs et GPU haut de gamme. PhysX est déjà intégré à certains des moteurs de jeu les plus populaires, notamment Unreal Engine et Unity3D.


La société a aussi précisé que PhysX 4.0 sera aussi concerné par cette libération du code. Cette version va se focaliser 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, il y aura 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. PhysX 4.0 rendu disponible ce 20 décembre présente les caractéristiques ci-après :

  • open source ;
  • simulation multithread ;
  • gestion de l'utilisation de la mémoire ;
  • prise en charge de différentes unités de mesure et échelles ;
  • algorithmes de détection de collision à phases multiples multiples ;
  • détection de collision de formes maillées, triangulaires et primitives ;
  • mise en place et mise à l'échelle du maillage ;
  • détection de collision discrète et continue ;
  • système de requête de scène avancé.

La note de version établie par la société montre qu’il y a un bon nombre de changements, d’ajouts et de problèmes résolus dans cette nouvelle version du kit de développement.
« Avec PhysX SDK 4.0, les articulations réduites des coordonnées et le solveur temporel de Gauss-Seidel rendent les machines, les personnages / ragdolls et tout ce qui est joint ou articulé beaucoup plus robuste. Cela permet une gravité plus élevée, des impacts plus importants, des fonctionnalités plus petites et des pas de temps plus importants », peut-on lire sur le site de l’éditeur.

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. Une liste des nouveautés de PhysX SDK 4.0 selon l’éditeur est la suivante :

  • le solveur temporel de Gauss-Seidel (TGS), qui fabrique des machines, des personnages / ragdolls et tout ce qui est joint ou articulé beaucoup plus robuste. TGS recalcule de manière dynamique les contraintes à chaque itération, en fonction du mouvement relatif des corps ;
  • la nouvelle fonctionnalité d'articulations de coordonnées réduites permet la simulation des articulations sans erreur de position relative et sans actionnement réaliste ;
  • une nouvelle phase multi-large automatique ;
  • une évolutivité accrue avec de nouvelles règles de filtrage pour la cinématique et la statique ;
  • les requêtes de scènes centrées sur les acteurs améliorent considérablement les performances des acteurs aux formes multiples ;
  • il est maintenant possible de construire le système basé sur CMake.


Sources : PhysX SDK, Note de version

Et vous ?

Qu'en pensez-vous ?

Voir aussi

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

Les GeForce Volta de NVIDIA pourraient supporter la technologie RTX, la norme HDMI 2.1, la VRAM GDDR6 et un nouvel algorithme de Boost

Nvidia publie un CA trimestriel inférieur aux attentes des analystes l'entreprise est touchée par la baisse de la demande pour les cryptomonnaies
10  1 
Avatar de 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.
3  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 20/12/2018 à 23:26
Le code de PhysX 4 est maintenant disponible en ligne, sans besoin de s'inscrire, comme prévu. Comme attendu, il ne s'agit pas du dépôt de développement, mais c'est néanmoins un bon pas en avant : n'importe qui pourra modifier le code de PhysX et le redistribuer sans problème (sous licence BSD… ou autre, donc). NVIDIA n'a pas indiqué si les contributions externes étaient encouragées ou si elles seront simplement ignorées.

Dépôt sur GitHub

Guide de l'utilisateur
Documentation de l'API
1  0 
Avatar de Steinvikel
Membre expérimenté 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 ?
0  0 
Avatar de darklinux
Membre averti https://www.developpez.com
Le 04/12/2018 à 7:02
Depuis le temps , Nvidia aurait faire cela il y a bien longtemps
0  1