Un nouveau moteur de simulation de liquides pour Unreal Engine 4 : NVIDIA Cataclysm

L’annonce n’est pas encore officielle, mais le code source est déjà disponible et les vidéos en ligne : NVIDIA propose un nouveau solveur physique généraliste pour la simulation de liquides dans Unreal Engine (en sus de Flex).

Unreal Engine 4 est un moteur de jeu bien implanté dans le domaine, notamment chez les professionnels, avec un rendu très léché, même si les premiers développements ont eu lieu en 2005 et les premières démos publiques en 2012. De son côté, NVIDIA a une très bonne expérience dans le développement de simulations physiques, notamment avec son moteur physique PhysX ou la suite GameWorks.

Dernièrement, le code source d’une nouvelle démo est apparu sur les dépôts de NVIDIA, intégrant le solveur FLIP dans Unreal Engine 4.12.5. Les calculs s’effectuent sur le processeur graphique et leurs résultats s’intègrent dans la gestion des particules d’Unreal Engine. En temps réel, FLIP peut simuler jusque deux millions de particules.

Le code de simulation utilise une approche hybride (d’ailleurs, FLIP signifie fluid implicit particle) : l’information générée par la simulation est stockée au niveau de particules (comme Flex), tandis que les calculs sont réalisés selon une approche plus classique à base de grille.

Télécharger le code source de la démo. (enregistrement du compte GitHub nécessaire auprès d’Epic).
Source, image et vidéo : NVIDIA presents Cataclysm liquid solver for Unreal Engine 4.

Simulation en temps réel de grandes déformations élastoplastiques

La simulation des objets déformables est un problème difficile à résoudre, plus encore quand il l’est en temps réel, par exemple dans un jeu vidéo. Il s’agit d’animer des objets (un ballon, par exemple) qui se déforment quand ils sont soumis à une force — au contraire des objets indéformables, comme un mur, sur lequel on peut s’appuyer sans qu’il se plie de manière perceptible. Dans le cas où ces déformations sont relativement limitées, la situation est gérable de manière relativement efficace — nettement moins pour des déformations importantes, où les résultats ne sont pas visuellement plausibles. Cela limite actuellement la créativité des développeurs, notamment de jeux vidéo, lorsqu’ils veulent intégrer des matériaux comme de la mousse ou de la pâte — ô combien utiles.

On distingue deux catégories de déformations : d’abord élastiques, le matériau se déforme puis revient à sa position d’origine (comme un élastique ou un ressort) ; puis plastiques, il ne revient pas à sa forme initiale (comme une latte en plastique que l’on plie). La simulation concerne surtout les matériaux qui passent d’un comportement à l’autre : ils s’appellent élastoplastiques. La simulation, actuellement, peut se faire pour des déformations élastiques importantes, mais pas dans le régime plastique.

C’est là qu’intervient une équipe de chercheurs (travaillant chez NVIDIA pour leur moteur PhysX), en poursuivant leurs travaux sur la dynamique par positions (PBD), déjà appliquée avec grand succès sur des fluides. Les problèmes de déformation élastoplastique sont souvent résolus par correspondance des formes, un algorithme dont les racines sont très géométriques : à partir d’une position initiale et de points objectifs qui minimisent l’énergie, la méthode déplace, à chaque pas de temps, les points en direction des objectifs.

Les apports de l’équipe font le lien entre cette technique et leur cadre de dynamique par position. Dans cette dernière, tous les objets sont représentés comme une série de points liés par des contraintes. Par exemple, un objet solide comme une brique pourra être représenté par une série de points, avec des distances imposées entre chaque paire de points de la brique : elle restera solide et ne se déformera pas. Ici, les solides déformables sont également représentés par un nuage de points. Cependant, les contraintes ne porteront pas sur des distances à conserver, mais une forme plus légère qui garantit une certaine cohésion de la forme. Les particules sont alors filtrées et redistribuées pour continuer la simulation.

De par le formalisme employé (dynamique par positions), cette technique permet des interactions faciles avec d’autres éléments simulés, comme des corps rigides, des fluides, des tissus. Cependant, l’approche n’a pas forcément un sens physique : elle ne cherche pas à conserver la masse totale des objets déformés, mais seulement le volume visible par l’utilisateur — ce qui est une approximation raisonnable pour bon nombre de cas.

Sources : Real-time Simulation of Large Elasto-Plastic Deformation with Shape Matching, Meshless Deformations Based on Shape Matching.
Merci à Claude Leloup pour ses corrections.

NVIDIA GameWorks : du code source libéré, de nouveaux modules

Comme NVIDIA l’avait annoncé il y a peu, de grandes nouvelles traversent son programme GameWorks, avec de l’ouverture de code source sous licence libre et la mise à disposition de nouveaux modules. Cette boîte à outils est composée d’une série d’effets utilisables très facilement par les développeurs dans leurs jeux.

De nouvelles technologies

Trois nouvelles bibliothèques font maintenant partie du programme GameWorks, après avoir été testées dans des jeux déjà en vente, principalement pour l’éclairage et la gestion des ombres (toutes sont d’ores et déjà disponibles au téléchargement) :

  • NVIDIA Volumetric Lighting simule le trajet de la lumière et sa dispersion dans l’atmosphère et l’air, un effet utilisé dans Fallout 4, plus particulièrement dans les rayons crépusculaires ;
  • NVIDIA Hybrid Frustum Traced Shadows (HFTS) traite plus particulièrement les ombres et assure une transition plus douce entre les ombres bien droites à proximité de l’objet qui bloque la lumière et les ombres bien plus douces au loin, un effet utilisé dans Tom Clancy’s The Division ;
  • NVIDIA Voxel Accelerated Ambient Occlusion (VXAO) gère l’éclairage au niveau d’une scène avec une occlusion ambiante en temps réel : la différence par rapport aux techniques plus traditionnelles est l’utilisation de toute la géométrie de la scène, pas seulement la zone visible par la caméra ; cet effet a été utilisé dans Rise of the Tomb Raider.


NVIDIA Volumetric Lighting pour le rendu d’un rayon crépusculaire dans Fallout 4


NVIDIA Hybrid Frustum Traced Shadows pour le rendu des ombres dans The Division


NVIDIA Voxel Accelerated Ambient Occlusion pour l’éclairage global dans Rise of the Tomb Raider

De nouveaux solveurs physiques

À un autre niveau, dans la simulation physique pure, de nouvelles extensions ont été annoncées (des préversions privées sont actuellement disponibles) : l’une pour les corps rigies, NVIDIA PhysX GRB (GPU rigid body) ; l’autre pour les fluides combustibles, NVIDIA Flow.

NVIDIA PhysX GRB simule des corps rigides sur des processeurs graphiques, mais peut aussi exploiter le processeur principal en simultané (sans aucun écart en fonctionnalité selon la combinaison de processeurs choisie) : par rapport au code traditionnel, les calculs peuvent être accélérés d’un facteur six pour des simulations relativement lourdes ; une préversion privée est actuellement disponible, une version plus avancée devrait être rendue disponible dans les semaines à venir.

L’accélération sur le GPU concerne toutes les étapes du solveur, répliquées par rapport à la version CPU : les contraintes, les contacts, les phases de recherche. Cependant, au niveau de l’implémentation, la version GPU a été optimisée à certains points, comme la gestion d’îlots d’objets, pour gérer des scènes encore plus grandes. L’API est très similaire à celle de PhysX, ce qui facilitera l’utilisation de ce nouveau solveur ; cependant, tout le code GPU utilise NVIDIA CUDA, ce qui empêche son utilisation sur du matériel de fabricants concurrents mais devrait être compatible Linux et OS X.

NVIDIA Flow simule l’écoulement de fluides combustibles, ce qui modélise notamment le feu et la fumée ; la différence par rapport aux techniques précédentes est que ce solveur n’est pas limité à un volume prédéfini de simulation, puisqu’il adapte la grille de calcul aux nouveaux besoins. Contrairement à NVIDIA PhysX GRB, cette bibliothèque n’a pas de parti pris au niveau du matériel : elle utilise directement DirectX 11 et 12 et fonctionne donc sur du matériel AMD (mais pas sur des systèmes d’exploitation autres que Windows).

Toujours au niveau physique, la première version finale de FleX est maintenant disponible pour le grand public, un solveur GPU généraliste que NVIDIA a commencé à montrer en 2013, mais aussi intégré à Fallout 4 pour la gestion des débris.

Du code libéré

Il y a un an, NVIDIA montrait les premiers signes d’ouverture du programme GameWorks en mettant gratuitement à disposition les sources de PhysX, son moteur physique, à l’exception des parties GPU — mais pas sous une licence libre ; de plus, l’accès au dépôt GitHub est soumis à un enregistrement.

Cette semaine, d’autres composants ont été libérés de la sorte : NVIDIA Volumetric Lighting, récemment annoncé et détaillé plus haut ; NVIDIA HairWorks, pour la simulation et le rendu de cheveux et poils ; ainsi que NVIDIA HBAO+, un effet similaire au VXAO utilisé dans Rise of the Tomb Raider.

Ce qui est plus étonnant, cependant, c’est qu’un composant complet a été libéré : FaceWorks, pour le rendu de visages. La licence indique que tout développeur peut créer un travail dérivé et le redistribuer librement, tant qu’il indique qu’il exploite du code source venant de NVIDIA — ce qui ressemble très étrangement à du logiciel libre. Les les modèles 3D ne sont pas concernés par cette licence.

Sources : NVIDIA Advances Real-Time Game Rendering and Simulation With Launch of NVIDIA GameWorks SDK 3.1, GDC 2016: PhysX GPU Rigid Body and NVIDIA Flow (y compris vidéo de NVIDIA PhysX GRB et image de NVIDIA Flow), Fallout 4 Graphics, Performance & Tweaking Guide (image de Fallout 4), Tom Clancy’s The Division Graphics & Performance Guide (image de The Division), Rise of the Tomb Raider Graphics & Performance Guide (image de Rise of the Tomb Raider)

NVIDIA GameWorks, des annonces à venir en 2016, notamment DirectX 12

L’objectif du programme GameWorks de NVIDIA est de fournir une série d’effets graphiques facilement intégrables à des jeux, mais aussi divers outils pour faciliter leur développement : par exemple, des effets de débris utilisés dans Fallout 4, une simulation de cheveux et poils très utilisée, des optimisations de rendu pour la réalité virtuelle intégrées dans Unreal Engine 4. Le moteur physique PhysX fait également partie du programme GameWorks, largement plébiscité : actuellement, pas moins de cent cinquante mille personnes sont inscrites à ce programme, téléchargeant principalement Nsight, Androidworks, PhysX, FleX et HairWorks. Le contenu de GameWorks n’est pas réservé aux développeurs professionnels, les bibliothèques sont également accessibles aux particuliers qui développent des jeux ou des animations dans leur temps libre (comme celle ci-dessous).

NVIDIA GameWorks : depuis les premiers effets

L’affaire GameWorks a commencé sous ce nom en 2013 pour officialiser une équipe qui travaillait depuis le début des années 2000 directement avec les développeurs de jeux : elle cherchait à améliorer leur rendu et optimiser leur performance, pour développer le plein potentiel des processeurs graphiques. Leurs communications passaient par des articles publiés lors du SIGGRAPH (une grande conférence pour l’animation par ordinateur), des codes d’exemple ou encore des démonstration purement technologiques.

Ces efforts ont payé, mais n’étaient pas suffisants : une leçon de cette longue période informelle est qu’une technologie n’est jamais prête avant d’avoir été intégrée complètement dans un jeu. Tel est l’objectif de GameWorks : rassembler des techniques éprouvées dans au moins un jeu et en faciliter l’adoption. Cela signifie aussi s’assurer que l’effet visuel est disponible au plus grand nombre, pas seulement à ceux qui disposent de matériel de dernière génération.

Une attention pour les développeurs de jeux

Un autre problème, en passant d’exemples de code à des bibliothèques complètes, est le besoin d’acceptation de la part des développeurs : les bibliothèques GameWorks sont prévues pour être simples à intégrer (et le sont déjà pour une série de moteurs de jeux)… mais ne viennent pas directement avec le code source. Ce mode de fonctionnement convient très bien à certains développeurs, alors que d’autres ont besoin de mettre les mains dans le cambouis : au fil du temps, ces bibliothèques ont été adaptées pour laisser une plus grande flexibilité au développeur et en distribuant les sources à la demande.

Pour le moment, les composants de GameWorks sont principalement disponibles pour Windows, plus spécifiquement DirectX 11. En effet, cette version est la plus utilisée pour les jeux actuels et ne limite pas le développement des effets (plus particulièrement ceux qui exploitent la physique). Cependant, DirectX 12 gagne du terrain du côté des jeux et les bibliothèques GameWorks verront des versions compatibles avec cette nouvelle version, selon la demande des développeurs de jeux.

Bien que rien ne soit actuellement prêt pour annonce, selon les gens de NVIDIA, pas mal d’annonces auront lieu en 2016, entre GameWorks et DirectX 12. Elles suivront une année 2015 relativement chargée, avec l’inclusion de technologies dans des jeux comme Fallout 4 ou The Witcher 3, mais aussi la première inclusion de WaveWorks pour la simulation d’océans dans Just Cause 3 et War Thunder. Sans oublier les controverses.

Source : Nvidia Talks GameWorks And DirectX 12 Plans For 2016.

NVIDIA FleX arrive dans Fallout 4 avec des effets de débris

Dans la préversion du prochain patch à venir de Fallout 4, un nouvel effet physique a été ajouté : les débris générés par la destruction d’objets par armes à feu. Au lieu de simplement présenter des trous dans le sol ou les façades, des morceaux de béton ou de bois se détacheront et voleront en l’air.

En y regardant de plus près, on peut remarquer que cet effet n’est pas, pour le moment, extrêmement réaliste, avec un nombre excessif de particules générées (faire exploser une chaise pourrait donner plus de débris que la chaise elle-même, par exemple). De plus, seules certaines parties du monde sont concernées par cet effet. Ces limitations sont principalement dues au fait que l’effet a été ajouté après coup et non lors du développement du jeu.

Du côté technique, l’effet utilise le nouveau solveur FleX de NVIDIA (dont la version 0.9.0 est disponible gratuitement), qui exploite les possibilités des processeurs graphiques pour effectuer les calculs sous-jacents ; cela signifie que cet effet ne sera disponible, pour le moment, que sur les GPU NVIDIA (il est prévu depuis les débuts de FleX de réaliser une version exploitant d’autres technologies, mais ces efforts n’ont pas encore vu le jour).

Cependant, ces résultats (préliminaires) sont d’ores et déjà encourageants, par exemple en comparaison de l’effet similaire implémenté dans Borderlands 2, qui utilise le solveur de PhysX (le moteur de physique généraliste de NVIDIA). Les calculs sont plus efficaces en temps, car les débris sont simulés comme de simples points matériels, sans considérer qu’il s’agit de véritables objets en trois dimensions. L’ensemble de leurs mouvements est donc simplifié : le moteur physique ne peut pas prévoir de rotation, un certain mouvement est donc préprogrammé ; les collisions avec les objets statiques sont très simplifiées… et complètement inexistantes avec les autres débris.

Au contraire, dans l’implémentation de Fallout 4, les débris ont une véritable extension spatiale pour la simulation physique : ils ont une forme tridimensionnelle et peuvent interagir entre eux. La différence est plus notable pour un empilement de débris : là où Borderlands 2 formait un simple tapis de débris, sans que l’un chevauche l’autre, Fallout 4 montre un empilement. Les calculs sont effectués dans un formalisme de corps rigides sur GPU et Fallout 4 en est l’une des premières applications ; du côté technique, le point noir actuel est le manque d’ombres.

Source et images : Fallout 4 beta patch adds Nvidia FLEX based particle debris effects.

Unreal Engine 4 et NVIDIA GameWorks VR : d’impressionants gains de performance

Unreal Engine 4.10 vient avec un bon nombre d’améliorations de performance au niveau de la réalité virtuelle. Cependant, pour NVIDIA, il est encore possible d’aller plus loin en intégrant leur SDK prévu pour la réalité augmentée, GameWorks VR. En l’incluant dans UE 4, il serait possible d’obtenir cinquante pour cent d’images chaque seconde en plus.

Une des techniques implémentées est l’application de shaders à de multiples résolutions : le centre de l’image, là où se focalisent les yeux, fait l’objet d’un traitement plus poussé ; une résolution moindre est utilisée pour les zones périphériques. Cette optimisation se fait sans grand impact sur la qualité d’image, étant donné que les casques ont tendance à distordre les images au niveau de cette même périphérie. Dans la démo Reflection Subway, l’impact sur le nombre d’images par seconde est radical.

Selon NVIDIA, le plus grand problème pour que la réalité virtuelle devienne courante est vraiment la performance : leur objectif est une résolution Full HD (1080p, c’est-à-dire 1980 pixels par 1080) à trente images par seconde pour un jeu traditionnel, mais deux fois 1512 par 1680 à raison de nonante images par seconde en réalité virtuelle, ce qui fait un rapport de sept en nombre de pixels à émettre chaque seconde. (De nombreux joueurs sur PC préfèrent la cible de soixante images par seconde, ce qui réduit de moitié l’écart cité par NVIDIA.)

Par des améliorations au niveau logiciel (comme GameWorks VR) et matériel, ils prévoient d’atteindre un marché de cent trente millions d’ordinateurs prêts pour la réalité virtuelle en 2020 (par rapport à cinq millions actuellement) — bien évidemment en matériel GeForce —, de telle sorte que la réalité virtuelle devienne une partie intégrante de la vie quotidienne.

Actuellement, quelques jeux sont en cours de développement avec Unreal Engine et prévoient d’exploiter la réalité virtuelle. Par exemple, ADR1FT, une fiction interactive à la première qui suit un astronaute dans l’espace ; Loading Human, spécifiquement développé pour le matériel Oculus Rift, un jeu d’aventure, également dans l’espace ; EVE Valkyrie, un jeu multijoueur d’action et de tir, toujours en spatial.

Source : Get Ready: Unreal Engine 4 to Incorporate NVIDIA GameWorks VR (images), GameWorks VR To Be Included In Unreal Engine 4, Helps Getting Up To 50% More Performance.

NVIDIA HairWorks 1.1, jusqu’à un demi million de cheveux

Il y a un an et demi, NVIDIA présentait HairWorks, sa solution pour la simulation de poils en tout genre. La version 1.1 apporte quelques nouveautés à cette bibliothèque, principalement concernant les cheveux longs, avec des outils pour leur conception en temps réel, leur rendu et leur simulation, avec des résultats très variés. Ci-dessous, quelques exemples livrés avec HairWorks.


NVIDIA en a également profité pour réaliser une vidéo de démonstration, avec cinq cent mille cheveux simulés en temps réel sur une seule carte GTX 980. Les vidéos précédentes faisaient état de vingt mille cheveux, ce qui montre une belle évolution, tant au niveau des processeurs graphiques que du logiciel (bien que cette vidéo ne montre que les cheveux animés, pas une scène complète).

Cet outil fait appel à la tesselation, ce qui lui permet d’avoir un impact en mémoire très faible, même pour de très grands nombres de poils. Cette technique a cependant quelques effets pervers sur des GPU plus anciens ou d’une autre marque (AMD, pour ne pas la citer), la tesselation y fonctionnant nettement moins bien — ce qui a été à la source de problèmes de performance, par exemple pour The Witcher 3.

Pour ceux qui aimeraient tester cette nouvelle version, NVIDIA HairWorks est disponible gratuitement après inscription au programme GameWorks. Une intégration à Unreal Engine 4 est disponible également gratuitement en même temps que le moteur.

Sources : HairWorks 1.1 Release (images), NVIDIA HairWorks Version 1.1 Showcased with 500K Realistic Hair Rendered in Real-Time on a Single GTX 980.

Controverse sur l’utilisation de NVIDIA GameWorks dans Witcher 3

NVIDIA GameWorks est l’ombrelle sous laquelle NVIDIA propose une série de technologies d’effets pour des jeux. Leur principal avantage est d’être déjà implémentés et optimisés par NVIDIA, les développeurs des jeux peuvent donc ajouter un surcroît de réalisme à leurs productions sans toutefois y passer des semaines ou des mois. Ce programme contient notamment leur moteur physique PhysX et les diverses extensions APEX (Clothing, Destruction, etc.), mais aussi des bibliothèques d’occlusion ambiante (HBAO+), d’illumination globale (GI Works), de rendu de visages (FaceWorks), de poils et de cheveux (HairWorks) ou d’océan (WaveWorks). Avant ce programme, NVIDIA proposait déjà ce genre d’effets, mais sous la forme de code à intégrer au jeu, pas comme bibliothèque externe, ce qui en limitait l’utilisation.

Cependant, ces outils peuvent poser question : ils ne sont accessibles qu’aux studios de développements (bien que certaines parties soient déjà intégrées à Unreal Engine 4 et que FleX est téléchargeable seul), leurs sources ne sont pas disponibles… y compris pour les fabricants de cartes graphiques concurrentes comme AMD ou Intel. Ainsi, ils ne peuvent pas optimiser ces bibliothèques pour leur matériel, contrairement à NVIDIA — une pratique courante dans l’industrie.

Le problème, dans le cas de Witcher 3, c’est que la performance du jeu décroît sensiblement en activant HairWorks sur des GPU sans caméléon. Un des développeurs précise :

Many of you have asked us if AMD Radeon GPUs would be able to run NVIDIA’s HairWorks technology – the answer is yes! However, unsatisfactory performance may be experienced as the code of this feature cannot be optimized for AMD products. Radeon users are encouraged to disable NVIDIA HairWorks if the performance is below expectations.

De même, Project Cars a tendance à nettement moins bien fonctionner sur du matériel AMD que NVIDIA. Il utilise des technologies GameWorks, contrairement à d’autres jeux du même genre qui ne souffrent pas d’un grand écart de performance ; notamment, la simulation physique des voitures utilise PhysX, qui peut utiliser les cartes NVIDIA pour une partie des calculs grâce à CUDA, contrairement aux cartes AMD — désactiver les calculs physiques sur GPU pour une carte NVIDIA donne également des problèmes de performance.

D’autres jeux utilisant la même technologie n’ont pas ce genre de problème, comme FarCry 4 : activer HairWorks diminue certes le nombre d’images par seconde d’une dizaine d’unités, mais indépendamment de la marque du GPU utilisé, tant sur du matériel NVIDIA que AMD (récent et de haut de gamme des deux côtés), selon Far Cry 4 Graphics Features Performance Review: Fur Performance.

Ces critiques ne sont pas récentes, mais ce n’est qu’en avril 2014 que NVIDIA a commencé à offrir des licences pour ces technologies incluant le code source, en fonction du degré de maturité du code, soit après les premières utilisations dans des jeux finalisés. Peu après, deux ingénieurs ont avoué que les développeurs de jeux utilisant GameWorks n’étaient pas autorisés à travailler avec AMD pour optimiser leur code (en juillet 2014).

La réponse de NVIDIA à ce sujet apporte des précisions intéressantes à ce sujet :

We are not asking game developers do anything unethical.

GameWorks improves the visual quality of games running on GeForce for our customers. It does not impair performance on competing hardware.

Demanding source code access to all our cool technology is an attempt to deflect their performance issues. Giving away your IP, your source code, is uncommon for anyone in the industry, including middleware providers and game developers. Most of the time we optimize games based on binary builds, not source code.

GameWorks licenses follow standard industry practice. GameWorks source code is provided to developers that request it under license, but they can’t redistribute our source code to anyone who does not have a license.

The bottom line is AMD’s tessellation performance is not very good and there is not a lot NVIDIA can/should do about it. Using DX11 tessellation has sound technical reasoning behind it, it helps to keep the GPU memory footprint small so multiple characters can use hair and fur at the same time.

I believe it is a resource issue. NVIDIA spent a lot of artist and engineering resources to help make Witcher 3 better. I would assume that AMD could have done the same thing because our agreements with developers don’t prevent them from working with other IHVs. (See also, Project Cars)

Elle est en tout cas appuyée par des faits vérifiés à l’extérieur : la performance en tessellation est bien meilleure chez NVIDIA qu’à la concurrence. Ces différences en performance seraient donc dus à une exploitation intensive de la part de NVIDIA des parties qu’ils savent bien fonctionner chez eux. Sciemment ou non, cela a eu des impacts négatifs sur le matériel AMD — sans interdire toute optimisation par AMD.

Sources : Nvidia Responds To Witcher 3 GameWorks Controversy, PC Gamers On The Offensive, message de Marcin Momot, message de 007sk2, Far Cry 4 Graphics Features Performance Review: Fur Performance, NVIDIA and AMD Fight over NVIDIA GameWorks Program: Devil in the Details, The NVIDIA GeForce GTX 980 Review: Maxwell Mark 2

PEEL, un outil de comparaison de moteurs physiques

NVIDIA avait développé un outil pour comparer les performances de différents moteurs physiques, notamment pour situer son moteur maison (PhysX) par rapport à la concurrence, mais aussi pour repérer les régressions en performances (certaines ont déjà été repérées pour PhysX 3.4 et sont en cours de correction). Il avait déjà été utilisé pour la sortie de PhysX 3.3. Cet outil, nommé PEEL, est maintenant disponible gratuitement pour tous, sources incluses (sous une licence zlib). Des binaires sont fournis pour Windows.

Une série de moteurs est déjà incluse dans la distribution : Newton (3.13, 3.9), Bullet (2.79, 2.81, 2.82) et PhysX (2.8.4, 3.1, 3.2, 3.3.0, 3.3.1, 3.3.2, 3.4). Les sources pour intégrer Havok (6.6.0, 2011.3.0, 2011.3.1, 2012.1.0, 2012.2.0, 2013.1.0) sont incluses, mais pas de source ou de binaire pour Havok lui-même, pour des raisons de licence.

Télécharger PEEL.

Source : http://physxinfo.com/news/12580/physics-engine-evaluation-lab-peel-is-released/.

Intégration de PhysX et GameWorks dans Unreal Engine 4

Depuis Unreal Engine 3 et UDK, Epic utilise le moteur physique PhysX, développé par NVIDIA. Unreal Engine 4 en utilise d’ailleurs la dernière mouture (la série 3.x). Depuis lors, NVIDIA a lancé une série de nouvelles briques logicielles dans le domaine de la simulation physique sous l’ombrelle GameWorks.

L’une de ces briques est une réflexion de fond sur la manière d’exploiter les GPU pour la simulation multiphysique en temps réel, avec des couplages entre tous les types de simulation : des interactions entre solides (déformables ou non), liquides et tissus, chaque type d’objet étant régi par des systèmes d’équations différents. NVIDIA FleX unifie toutes ces problématiques en considérant chaque objet comme un ensemble de particules. Après quelques années de développement et des démonstrations dont les principaux intérêts sont techniques (couplages en temps réel), la version 0.25 dispose maintenant d’une intégration (certes encore expérimentale et incomplète) dans Unreal Engine 4.

Les sources de l’intégration sont disponibles sur un dépôt Git, accessible sous les mêmes conditions que les sources d’Unreal Engine 4. D’autres modules de GameWorks sont en cours d’intégration : HBAO+, VXGI, Vehicles et WaveWorks sont d’ores et déjà disponibles, toujours en tant qu’intégrations expérimentales, toujours uniquement pour Windows.

Il est prévu d’ajouter d’autres modules dans les mois à venir, comme HairWorks ou Turf Effects. Certains modules ont besoin d’un GPU NVIDIA, d’autres se satisfont d’un GPU DirectX 11.

Source : NVIDIA GameWorks Integration, le clone NVIDIA du dépôt Unreal Engine.