NVIDIA HairWorks pour la simulation de poils

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/

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