Pour faciliter l'intégration d'effets de haut niveau dans les jeux, NVIDIA a lancé il y a déjà un certain temps GameWorks, une initiative qui devient assez tentaculaire : on y retrouve des bibliothèques de lancer de rayons (comme OptiX et RTX), d'effets physiques (WaveWorks, FaceWorks, HairWorks, TurfEffects, FleX, Flow, Blast, sans oublier le moteur complet PhysX), de post-traitement et autres méthodes de rendu (VXGI, VXAO, ShadowWorks, PostWorks, HFTS), une suite de bibliothèques pour la réalité virtuelle (VRWorks), etc.

Notamment, WaveWorks se focalise sur la simulation d'océans. Les calculs se font dans le domaine fréquentiel, pour des raisons d'efficacité. L'API disponible est en C et permet de définir une série de variables avec une signification très physique : vitesse du vent, direction, amplitude des vagues, etc. (Physiquement, les vagues sont dues aux vents : plus le vent souffle fort sur une grande surface, plus les vagues seront importantes.)


La version 2.0 s'apprête à sortir et apportera une série d'améliorations. Notamment, les calculs peuvent être effectués par n'importe quelle API, sur la carte graphique : Direct Compute ou Vulkan Compute (les versions précédentes étaient implémentées à travers CUDA, la technologie propriétaire de NVIDIA pour le calcul sur GPU). Au besoin, les calculs peuvent aussi être effectués sur le processeur principal.

La version 2.0 est aussi beaucoup plus adaptable aux besoins particuliers, grâce à la formule JONSWAP. À un même endroit, WaveWorks peut donc tenir compte de vents locaux (et de vagues d'intensité moyenne), mais aussi de vents intenses, même générés par des tempêtes lointaines. De plus, les sillages sont mieux gérés, notamment après le passage d'un bateau ou lors d'explosions. Cette fonctionnalité est notamment utile dans le jeu de piraterie en ligne ATLAS (développé par Grapeshot Games), dont la sortie est prévue en décembre 2019.


Reste à voir si WaveWorks suivra le mouvement des autres projets de NVIDIA en libérant son code source ou pas. Actuellement, il est disponible à condition de s'être enregistré.


Source : Three Things You Need to Know About Wave Works 2.0.