Précédemment, NVIDIA avait offert des détails techniques sur un algorithme de simulation de poils, follow the leader. Associé aux développements précédents de la firme, NVIDIA HairWorks fournit une technologie complète intégrée de simulation de poils. Elle est d’ores et déjà utilisée dans Call of Duty: Ghosts et Witcher 3 et entre en compétition avec TressFX, la technologie d’AMD, notamment utilisée dans Tomb Raider.
Ces deux implémentations partagent déjà un point commun : l’utilisation de DirectCompute, la technologie de GPGPU proposée par Microsoft dans le cadre de DirectX – une technologie indépendante du fabricant de cartes graphiques –, alors que précédemment tout PhysX utilisait NVIDIA CUDA. Ce choix a été justifié par le fait que la plus grande partie du temps est utilisée pour l’affichage des poils, pas pour le calcul : il était alors plus efficace de travailler au plus près de l’API graphique. Il ne s’agit donc pas d’un revirement complet pour NVIDIA (tous les prochains développements n’utiliseront pas forcément DirectCompute). Au niveau de la portabilité, les consoles actuelles devraient être supportées dans le futur.
Par rapport aux techniques précédemment montrées, NVIDIA HairWorks intègre les différents composants dans un solveur unique qui traite tant les humains que les animaux, sur des corps dynamiques. Il permet également de simuler de l’herbe. Parmi les fonctionnalités supportées, on peut compter la préservation des formes, l’évitement des étirements des poils, divers contrôles sur les forces dynamiques, l’inertie, les collisions (relativement simples pour le moment, des fonctionnalités plus avancées arriveront avec le temps, comme des détections plus robustes et contre des objets déformables) ou encore le support de plusieurs processeurs graphiques (aucune implémentation sur CPU n’est actuellement prévue). Un grand nombre de paramètres sont disponibles : raideur, l’ondulation, la variation de longueur, l’humidité (le moteur est capable de gérer des transitions de poils secs à humide et inversement).
Le rendu de poils requiert énormément de données : pour Call of Duty, il faut compter un demi million de poils simultanément. Les algorithmes de rendu utilisent donc énormément les fonctionnalités de pavage (tesseletion) de DirectX 11, ce qui permet de créer de manière dynamique un très grand nombre de poils sans utiliser trop de mémoire. Ensuite, une étape de posttraitement a lieu, notamment pour calculer les ombres (qui correspondent à la peau sous-jacente).
Côté artiste, une série d’outils est utilisée (courbes de guidage, notamment), en réutilisant des outils tiers (comme Shave and a Haircut pour Maya ou bien Hair and Fur pour 3DS Max).
Le produit devrait être disponible de manière publique « dans un futur très proche ».
Source : http://physxinfo.com/news/12197/introducing-nvidia-hairworks-fur-and-hair-simulation-solution/