Sortie de la première beta de PhysX 3.2
Le moteur physique de NVIDIA spécialisé dans les jeux vidéos pour toutes plateformes

Le , par dourouc05

0PARTAGES

4  0 
La version finale de PhysX 3.2 est disponible

Attendue au deuxième trimestre 2012, voici la version finale de PhysX 3.2, après trois betas successives, dont les nouveautés sont présentées ci-dessous. Ces versions intermédiaires ont servi à supprimer des éléments déjà devenus obsolètes et à corriger des bogues. Un guide de migration depuis PhysX 3.1 est inclus dans la documentation.

Nouveauté pour cette version : les moyens de la récupérer. Pour les versions précédentes, on devait passer par l'interface peu intuitive du Developer Support Center ; désormais, on peut passer par le PhysX Registered Developer Program de la NVIDIA Developer Zone. Bien que cette dernière version ne soit pas encore disponible (à l'heure où ces lignes sont écrites, seule la troisième beta est téléchargeable), on remarque que la validation des inscriptions n'est plus manuelle : au lieu de quelques jours ouvrables au pire, on passe à un temps maximal entre la création du compte et la possibilité de télécharger le middleware d'au plus une demie heure ! Cette nouvelle plateforme est également intégrée aux nouveaux forums, basés sur des tags (pour le meilleur comme pour le pire). Le support commercial passe toujours par l'ancien site (mais pour combien de temps encore ?).

Source : http://physxinfo.com/news/8336/physx...-is-available/

---
Actualité du 26 décembre 2011.
Sortie de la première beta de PhysX 3.2
Le moteur physique spécialisé dans les jeux vidéos sur toutes plateformes de NVIDIA

Cadeau de Noël de la part de NVIDIA : première beta publique de PhysX 3.2, un moteur physique spécialisé dans les jeux vidéos sur toutes les plateformes (Windows, Linux, Mac OS X, Android actuellement disponibles gratuitement, XBox 360, PS 3, iOS, Wii également).

On peut remarquer que cette beta est en avance sur la roadmap initialement prévue : on peut donc s'attendre à avoir la version finale au début du deuxième trimestre de 2012. APEX 1.2 supportera PhysX 3.x et devrait sortir en 2012 (la version 1.1 était prévue pour le dernier trimestre 2011 mais n'est toujours pas sortie).

Parmi les nouveautés, toute la gestion du frottement a été refaite : le frottement anisotropique n'est plus supporté comme avant (cette possibilité a été retirée). À la place, deux modèles seront disponibles : celui par défaut actuellement et un modèle basé sur les lois de Coulomb. Ce dernier est bien plus lent, mais donne des résultats bien plus proches des solutions analytiques, il est donc à préférer si l'on souhaite des résultats aussi précis que possible. Grâce à ce changement, les tissus disposent également d'une simulation des frottements !

Une seule version du SDK pour Windows est actuellement disponible, elle devrait être compatible avec VS 2008 et 2010 (pour la version 3.1, les deux versions sont en effet disponibles).


Exemple de jeu réalisé avec PhysX

Au niveau de l'utilisation, quelques changements changements également : l'instance de PxFoundation devient un singleton et globale à toute l'application, instance qui n'est plus créée automatiquement avec PxCreatePhysics() (il faudra appeler à l'avance PxCreateFoundation()). Aussi, les appels à PxCreatePhysics() ne sont plus valides si un objet PxPhysics existe déjà. La signature de cette dernière fonction a changé en conséquence pour prendre une instance de PxFoundation explicitement.

Trois nouvelles démonstrations ont également été ajoutées (SampleCharacterCloth, SampleBridges, SampleGravity) pour le nouveau module de tissus (3.1) ou des ponts dynamiques et autres plateformes mobiles.

Cette beta du SDK est disponible dans le centre de support PhysX, gratuitement après validation d'un compte développeur.

Source : PhysXInfo.

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

Avatar de
https://www.developpez.com
Le 04/01/2012 à 15:28
tu vas donc me dire que dans Batman il y a pas de collision avec les murs et tu passes au travers si tu as pas une carte nvidia?
6  1 
Avatar de
https://www.developpez.com
Le 04/01/2012 à 21:36
Citation Envoyé par Teto45 Voir le message

Là où est le "scandale" c'est que si l'engine détecte une carte AMD, il désactive PhysX, dont je répète le code a été modifié pour ne pas bien fonctionner sur CPU.
sur le reste tu as raison, c'est cette partie la que je critique.

de 1, je ne vois pas pourquoi c'est de la faute de nVidia si PhysX est desactivé sur l'UDK. Ca serait pas plutôt de la faute de l'UDK?

de 2, j'utilise PhysX sur du multicoeur avec une carte Radeon ou avec une carte nVidia, il y a bien du multicoeur. Si l'UDK ne l'utilise pas, je vois toujours pas pourquoi c'est de la faute de nVidia.

a mon avis, l'UDK a ajouté a l'arrache de la physique avec PhysX a cause d'un partenariat plus marketing qu'autre chose, et ils ont collé des stagiaires dessus car aucun mec experimenté avait envie de le faire. En résulte une espèce de transplantation malsaine rejetée par l'UDK, plus qu'une vraie integration de PhysX.

de 3, c'est pourtant vrai que nVidia a une grosse limitation qui est bien bien vache pour les possesseur de cartes radeon; si tu as a la fois une carte nVidia et une carte radéon (ce qui est mon cas) dans ce cas, pas le droit d'utiliser ta carte nVidia pour PhysX. Donc il y a bien une mechante limitation, mais pas celle dont tu parles; si on veut râler il faut au moins râler pour la bonne raison.
5  0 
Avatar de
https://www.developpez.com
Le 05/01/2012 à 10:58
je suis dans les crédits de mirror's edge et donc je connais un peu (merci pour le compliment au passage), et je peux dire encore une fois que c'était surtout que Epic avait fait une integration très superficielle de PhysX (et Mirror's Edge a aussi fait une integration très superficielle sur le tard pour un partenariat marketing).

la faute n'en est pas a la lib PhysX elle même; si elle était aussi pourrie que ca nVidia se tirerait une balle dans le pied; il faut que nVidia la refourgue a des tonnes de jeux, et qu'ensuite les possesseurs de cartes nVidia aient un avantage.

Si les possesseurs de cartes AMD ne pouvaient tout simplement pas faire tourner PhysX aucun developpeur ne voudrait l'utiliser, et le levier de nVidia serait bien inutile. PhysX tourne très bien sur du multicoeur si on s'en donne la peine, et il y a des jeux sans le UDK qui s'en servent comme moteur de base pour les collisions entre rigid objects

mais l'UDK a fait un truc différent: ils ont leur propre moteur physique mais ont ajouté un type de "scène physique" (incapable d'interagir avec le moteur physique de l'UDK) avec PhysX pour des effets optionnels. l'UDK sur console n'utilise pas PhysX (a ce que je sache) et les effets additionnels sont supprimés. Si on a pas une carte nVidia, ces effets n'existent simplement pas non plus.
Mais comme PhysX est aussi un moteur physique indépendant il est tout a fait possible de l'utiliser sur des cartes non-nvidia en dehors de l'UDK.
3  0 
Avatar de
https://www.developpez.com
Le 05/01/2012 à 17:36
je ne parle pas de la mechanceté, c'est parce que tu as dit que mirror's edge est un super jeu.
ensuite je n'essaye pas de prendre les gens de haut, j'essaye simplement que ce soit toi qui ait la reflexion interne qui te conduira a comprendre ce que je dis.

au dela de la première ligne, je n'a plus rien a ajouté, toutes les explications sont plus haut.
ah si, la liste des jeux qui utilisent PhysX sans l'UDK

http://en.wikipedia.org/wiki/Metro_2033
http://en.wikipedia.org/wiki/Metro:_Last_Light

http://en.wikipedia.org/wiki/Mafia_II

http://en.wikipedia.org/wiki/Age_of_Empires_III

http://en.wikipedia.org/wiki/Sonic_a...e_Secret_Rings

http://en.wikipedia.org/wiki/Gothic_3

je vois que tu lis ce que tu veux bien lire =) je n'ai pas dit qu'ils utilisaient PhysX que pour le rigid body, mais bien comme base de la physique (avec des effets supplémentaires par dessus) au contraire de l'UDK qui n'utilise PhysX que pour les effets optionnels.
3  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 04/01/2012 à 13:39
Citation Envoyé par Teto45 Voir le message
Toujours uniquement utilisable pour ceux ayant une CG nVidia ? -> À dégager. Next.
Si ce n'était utilisable que par des GPU NVIDIA, pourquoi donc serait-il utilisé ? Et il est utilisé : http://physxinfo.com/ ! Avant d'y aller à l'emporte-pièce, il serait peut-être bien de regarder autour de soi ?
2  0 
Avatar de
https://www.developpez.com
Le 04/01/2012 à 14:04
le PhysX marche très bien sur CPU, il est accéléré pour GPU nVidia au cas ou. La plupart des jeux utilisent le CPU pour la physique ne serait-ce que parce que le GPU est déjà pas mal occuppé avec le rendu.
2  1 
Avatar de
https://www.developpez.com
Le 04/01/2012 à 14:42
a mon avis, batman utilise PhysX que tu cliques l'option ou pas. Il n'y a surement pas de version de batman qui peut tourner sans moteur physique.
Activer l'option signifie sans doute activer des effets supplémentaires "inutiles" au jeu (juste joli) et qui marchent sur le CPU comme sur le GPU, mais sans accélération matérielle sont juste trop lentes pour être ajoutées de base.

et le fait que ca n'utilise pas le multi core, c'est la tache des developpeurs de jeu je crois; le code PhysX fournit des primitives qui sont thread-safe et c'est au developpeurs de jeu de les mettre sur plusieurs cores. Peut-être simplement que Batman a une physique single-threadée.

Bref tu colles tout sur le dos de nvidia sans avoir vérifié et par contre tu n'as jamais vraiment noté la vraie arnaque de nVidia vis a vis des possesseurs de cartes AMD, je crois juste que tu avais envie de te plaindre quelle que soit la raison.
3  2 
Avatar de Pierre Terdiman
Candidat au Club https://www.developpez.com
Le 08/03/2013 à 10:53
Toujours uniquement utilisable pour ceux ayant une CG nVidia ?
Bien sûr que non. Seuls quelques modules comme les cloth ou les particules bénéficient d'une accélération hardware via CUDA (et donc, pour le coup, en effet, ça n'est accéléré que sur les cartes nVidia).

Le reste (rigid bodies, character controllers, vehicles, etc) tourne sur le CPU, et sur de nombreuses plateformes. (Xbox/PS3/Mac/Linux/Android/etc). Difficile de dire que ça ne tourne que sur des cartes nVidia sur ces machines

La réponse sera courte : tous ces jeux sont faits avec l'UDK/UE3 -> qui utilise Physx -> Mais ne fonctionne que si on utilise une CG nVidia
Je ne comprends pas comment on peut écrire ça. L'UE3 est utilisé dans de nombreux jeux Xbox/PS3, avec PhysX en effet. Ca marche très bien sans carte nVidia...

Nvidia à racheté la boîte qui développait PhysX et a modifié le code pour qu'il ne puisse plus tourner correctement que sur des GPU... nVidia je vous l'donne en mille. Bref.
Je m'excuse mais ce sont de grosses conneries La politique de nVidia n'a jamais été de brider le moteur sur d'autres systèmes. Bien au contraire, dès le début le but explicite a été d'optimiser le moteur CPU autant que possible, pour éviter de refaire les mêmes erreurs qu'Ageia.

Code : Sélectionner tout
Batman (et tous les jeux utilisant l'UE3/UDK) n'utilise pas PhysX si on tourne sur AMD.
C'est faux. Certains effets GPU (particules et autres) sont désactivés, mais tout le reste continue de touner sur CPU. En particulier tout ce qui concerne les collisions, raycasts, sweep tests, etc.

Le code GPU de PhysX n'est que la partie visible de l'iceberg...

Ce qui est vrai, que que UE3 contient en effet l'ancien code de EPIC, qui s'occupait des collisions et autres avant de passer à PhysX. Mais il n'y a pas de mystère ou de scandale là dedans: ils modifient leur code petit à petit, pour migrer progressivement de l'ancien système au nouveau. Par exemple à l'heure actuelle ils utilisent toujours leur ancien code de "character controller" (au lieu d'utiliser celui de PhysX) mais tous les "sweep tests" sur lesquels il se base sont maintenant effectués par PhysX - au CPU, par ailleurs.

Et il il y deux raisons très simples pour justifier ce changement:

- maintenir et optimiser un moteur physique prend du temps. Laisser un "middleware" faire le boulot pour vous à du sens....

- le code de PhysX est en général plus rapide que le leur (même au CPU).

Une fois encore, pas de grand mystère ou scandale ici...

Hum, un peu limité comme utilisation, tu ne trouves pas ? Dans ce cas, autant utiliser Havok par exemple.
Oui, si on ignore la partie GPU, PhysX est un concurrent direct de Havok (ou Bullet). Et en effet, tu peux utiliser Havok pour la partie rigid bodies, c'est une excellente lib. La grosse différence, c'est que Havok est assez coûteux, alors que PhysX est plus ou moins gratuit.....

Il y a bien entendu aussi des différences au niveau utilisation mémoire et performances. Mais contrairement à ce que beaucoup prétendent, PhysX n'est pas "plus lent", loin de là. Les deux librairies sont en gros équivalentes, et supérieures à Bullet niveau perf.

Les algos de physique sont nettement plus compliqués que le calcul du tracé d'un triangle, je me demande comment ils arrivent à faire rentrer tout ça dans une simple puce.
Pas besoin de faire rentrer quoi que ce soit dans une puce. Il suffit d'implémenter les algos avec CUDA (ou OpenCL).

- Pierre (ex NovodeX, maintenant chez nVidia, bossant sur PhysX toute la journée)
1  0 
Avatar de Teto45
Membre habitué https://www.developpez.com
Le 05/01/2012 à 10:06
Citation Envoyé par screetch Voir le message
sur le reste tu as raison, c'est cette partie la que je critique.

de 1, je ne vois pas pourquoi c'est de la faute de nVidia si PhysX est desactivé sur l'UDK. Ca serait pas plutôt de la faute de l'UDK?

de 2, j'utilise PhysX sur du multicoeur avec une carte Radeon ou avec une carte nVidia, il y a bien du multicoeur. Si l'UDK ne l'utilise pas, je vois toujours pas pourquoi c'est de la faute de nVidia.

a mon avis, l'UDK a ajouté a l'arrache de la physique avec PhysX a cause d'un partenariat plus marketing qu'autre chose, et ils ont collé des stagiaires dessus car aucun mec experimenté avait envie de le faire. En résulte une espèce de transplantation malsaine rejetée par l'UDK, plus qu'une vraie integration de PhysX.

de 3, c'est pourtant vrai que nVidia a une grosse limitation qui est bien bien vache pour les possesseur de cartes radeon; si tu as a la fois une carte nVidia et une carte radéon (ce qui est mon cas) dans ce cas, pas le droit d'utiliser ta carte nVidia pour PhysX. Donc il y a bien une mechante limitation, mais pas celle dont tu parles; si on veut râler il faut au moins râler pour la bonne raison.
Alors pour 1) Non, c'est bien nVidia qui a demandé à Epic de. Sinon ce serait profondément stupide de la part d'Epic de se couper d'une bonne partie de clients potentiels, tu ne trouves pas ? Faut pas oublier que c'est nVidia qui est responsable de l'autre scandale "Hawx 2" (et sa tessellation favorisée sur les nVidia et qui plombent les perfs sur les AMD)
2) Je croyais que c'était cela qui avait été bridée, au temps pour moi. Reste que dans le fond y'a un vrai bridage et je ne pense pas que cela vienne d'une mauvaise intégration dans l'UDK.

Oui, clairement, c'est un partenariat marketing. Moi Nvidia donner plein de brouzoufs à toi, Epic, mais toi empêcher AMD d'utiliser ma techno à-moi-tout-seul.

As-tu Mirror's edge ? Si c'est pas le cas, achète-le. D'abord c'est un super jeu (on le trouve facilement à moins de 5€) mais surtout c'est une excellente démonstration de la tartufferie qu'est PhysX (bon là c'est plutôt la tartufferie de PhysX intégré dans un moteur phare). Fait croire à ton système que ta carte AMD est une nVidia et lance le jeu avec PhysX de lancé. Que constates-tu ?
1°) Pour les effets les plus visibles (papiers qui volent, bâches plastiques) PhysX, qui tourne donc sur CPU, ne fait pratiquement pas bouger le framerate. J'ai testé pour vous. Or ces effets sont désactivés sous AMD et sont remplacés par rien.
2°) Pour les effets qui ont leurs équivalents sous AMD (impacts des balles !, vitres qui volent en éclats) là le framerate plonge. C'est à dire des effets qui sont peu visibles, ou qui n'ont pas vraiment de différence avec leurs équivalents 'standards'.

Voilà le scandale, une techno qui lèse intentionnellement les possesseurs de cartes AMD.

Bon, maintenant, faudrait que je télécharge la nouvelle version et que je remplace la .dll de base par la nouvelle, si elle existe, pour voir si cela rend les jeux jouables (PhysX dans l'UE3 fonctionne via une dll dédiée, elle n'est pas 'intégrée' au moteur).

Sinon: Mon premier message n'était absolument pas contre la nouvelle en elle-même ou celui qui l'a rédigé, hein. C'est bien contre le fait que la technologie, massivement utilisée dans les jeux, exclut tous les possesseurs d'autres cartes nVidia et que c'est lamentable.
1  1 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 05/01/2012 à 19:15
Citation Envoyé par Teto45 Voir le message
Dans tous les cas, le moteur (PhysX) est trop propriétaire et trop facilement dépendant du GPU (puisque dans tous les cas il tournera bien mieux sur GPU nVidia) pour que cela me donne envie de mettre le nez dedans..
Et Havok n'est pas propriétaire, au fait ? D'après leur site, il n'y a que des binaires, alors que les derniers SDK PhysX contiennent pas mal de sources (RepX, Vehicles, CharacterKinematic, Common, Profile, Extensions, etc.).

Trop facilement dépendant du GPU ? Pour la 3.0, pas grand-chose de disponible :
Citation Envoyé par http://physxinfo.com/news/5671/physx-sdk-3-0-has-been-released/
GPU hardware acceleration in SDK 3.0 is only available for particles/fluids.
Pour la 3.1, support des tissus (GPU & CPU multithread) :
Citation Envoyé par http://physxinfo.com/news/6312/physx-3-1-is-ready-for-download-introduces-public-binary-sdk-for-android/
GPU support for the new clothing stuff

Yep, already in the SDK.
Pour la 3.2, aucune info dans les release notes, je suppose qu'il n'y a rien eu d'ajouté. Ce n'est pas exactement une énorme dépendance de l'entièreté du SDK (deux modules sur douze ayant la possibilité d'exploiter le GPU, avec des solveurs bien parallèles, donc tout bénef' pour des CPU multicœur).
0  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web