Première version publique de PhysX 3.4

PhysX est le moteur physique de NVIDIA, l’un des plus importants sur le marché. À l’origine, le moteur vient d’AGEIA, il portait alors le nom de NovodeX ; la spécificité de la société était de fournir une carte d’extension au format PCI ou PCI-Express, dont le but était d’accélérer les calculs physiques. Depuis lors, NVIDIA a repris le cheval de bataille de l’accélération matérielle, mais avec des cartes graphiques, nettement plus courantes.

Pour la branche 3.x, NVIDIA prévoyait initialement une nouvelle version tous les six mois. Le rythme a été tenu entre les quatre premières versions… puis a été complètement abandonné pour la 3.4 : PhysX 3.3 est sorti fin 2013, il y a trois ans. Sur cette durée, les développeurs du moteur ont laissé paraître quelques indices, notamment au niveau des optimisations, avec récemment une intégration à l’Unreal Engine 4.13. Ils ont aussi été actifs sur d’autres technologies orientées physiques, comme FleX (simulateur de particules unifié), Cataclysm (simulation de liquides), HairWorks (simulateur de cheveux et poils), etc.

La version 3.4 apporte une grande nouveauté au niveau de l’accélération matérielle : la simulation des corps rigides sur GPU (GRB). À part les articulations, toutes les fonctionnalités des corps rigides sont implémentées sur GPU : la simulation, les requêtes sur l’état des corps, l’interaction avec des tissus et des particules, avec la même aisance et la même API que sur CPU. Cette implémentation utilise CUDA (elle n’est accessible que sur des GPU NVIDIA) et requiert un GPU raisonnablement récent (de génération Kepler, c’est-à-dire au moins la série 600) ; sinon, l’implémentation sur CPU est la seule disponible (et elle est nettement plus rapide que celle de PhysX 3.3).

Dans les nouveautés majeures, de nouvelles fonctions ont été ajoutées pour accéder aux détails de la génération des contraintes de contact ; la détection continue de collisions fait son apparition. NVIDIA APEX est maintenant complètement découplé de PhysX : il n’est plus nécessaire d’avoir la moindre parcelle de code PhysX pour utiliser un module APEX (le code commun a été factorisé et se situe en dehors de PhysX).

Au niveau des plateformes, cette version fait le ménage. Ainsi, parmi les consoles, la PS 3, la PS Vita, la XBox 360 et la Wii U ne sont plus gérées, tout comme Windows RT et Android x86. L’accélération GPU nécessite au moins une carte NVIDIA GeForce série 400 et elle n’est plus disponible sur les systèmes d’exploitation plus anciens (Linux 32 bits, Windows XP 64 bits, Windows Vista). Pour le développement, Visual Studio 2010 cède sa place à la 2015 (les versions 2012 et 2013 sont toujours compatibles).

Cette version n’est toujours pas finale : cette étape est attendue pour février. En attendant, le code source est déjà disponible pour les personnes inscrites.

Source : Pre-release version of PhysX SDK 3.4 is now available on GitHub.

Voir aussi : les notes de version.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s