Recherche en simulation d’océan chez Studio Nyx
Introduction
Depuis 2022, Studio Nyx mène un programme de recherche sur la simulation d’océan en temps réel, mené en collaboration avec les laboratoires XLIM de Poitiers et l’Inria de Strasbourg, ainsi qu’avec les entreprises Aurora Game Studio et G4F à Angoulême. Ce programme nourrit directement Arc Blanc, le simulateur d’océan temps réel développé par Nyx, en repoussant sur plusieurs points l’état de l’art de la simulation physique de l’océan.
Contexte et enjeux scientifiques
Historiquement, la simulation d'océan s'est développée selon deux axes distincts. D’une part, les simulations industrielles et scientifiques se sont concentrées sur la précision des résultats, souvent au détriment du temps de calcul : c’est le cas de l’ingénierie maritime ou de la recherche océanographique, qui visent à reproduire avec une grande fidélité les phénomènes physiques complexes régissant le comportement des océans. D’autre part, les simulations graphiques, principalement utilisées dans l’industrie du jeu vidéo et de l’animation, ont privilégié les performances et le rendu visuel, parfois au détriment de la précision physique.
Grâce à l’augmentation constante de la puissance de calcul disponible, il devient aujourd’hui possible d’envisager un juste milieu entre ces deux approches, combinant un haut degré de précision physique et des performances compatibles avec une exécution en temps réel. Cette convergence ouvre de nouvelles perspectives pour des applications variées telles que la réalité virtuelle, les simulateurs maritimes ou encore les outils de visualisation scientifique interactive : c’est le terrain sur lequel se positionne Arc Blanc.
C’est précisément l’enjeu central de nos recherches : reproduire fidèlement le comportement dynamique de l’eau à différentes échelles, des vastes étendues d’océan aux interactions locales détaillées. Il faut pour cela maintenir des performances de calcul suffisantes pour une exécution fluide et interactive. Si la littérature scientifique propose des solutions efficaces pour simuler des surfaces d’océan à perte de vue ou des volumes d’eau très détaillés, l’unification de ces deux mondes reste un défi ouvert. Nous cherchons à lever les verrous technologiques qui l’empêchent, en répondant à deux questions centrales :
- Comment optimiser ces méthodes, par nature extrêmement gourmandes en calculs, pour qu’elles s’exécutent au moins 30 à 120 fois par seconde sur des cartes graphiques standards ?
- Comment coupler une méthode statistique, adaptée à la houle au large, à une méthode de particules, précise pour les éclaboussures et le contact avec un navire ?
Pour répondre à ces problématiques, nous proposons une approche qui s’articule autour de l’hybridation de deux méthodes de simulation de fluides : la méthode hydrodynamique des particules lissées, plus communément abrégée SPH, et la méthode de Tessendorf.
Tessendorf

La méthode de Tessendorf provient du domaine des simulations graphiques. Elle considère l’océan comme une superposition de nombreuses vagues de différentes fréquences et amplitudes. Cette vision permet de simuler efficacement de vastes surfaces d’eau en générant des motifs de vagues visuellement convaincants. L’avantage majeur de cette méthode réside dans sa capacité à produire des résultats visuellement impressionnants avec un coût de calcul relativement faible, la rendant particulièrement adaptée aux rendus en temps réel. C’est d’ailleurs la méthode retenue par Arc Blanc pour générer sa surface d’océan. Cependant, bien qu’elle excelle dans la représentation des phénomènes à grande échelle, elle peut manquer de précision pour les interactions locales et les phénomènes à petite échelle, tels que les impacts d’objets sur l’eau ou les éclaboussures détaillées.
SPH

La méthode SPH, quant à elle, issue du domaine des simulations industrielles et scientifiques, est une approche basée sur des particules. Elle modélise le fluide comme un ensemble de particules discrètes qui interagissent entre elles, offrant ainsi une grande flexibilité pour la simulation de phénomènes complexes. Cette méthode excelle dans la représentation des éclaboussures, des déferlements de vagues et des interactions fluide-solide, avec un haut degré de précision physique. Elle permet de capturer des détails fins et des comportements locaux du fluide de manière très réaliste. Cependant, la nature en particules de SPH implique un coût de calcul élevé, en particulier pour de grands volumes d’eau, ce qui la rend traditionnellement peu adaptée aux applications en temps réel nécessitant la simulation de vastes étendues océaniques.
Hybridation
L’hybridation de ces deux méthodes vise donc à tirer parti des forces de chacune plutôt qu’à choisir entre elles. C’est cette hybridation que nous cherchons à intégrer à terme à Arc Blanc, pour lui permettre de gagner en réalisme physique local sans perdre ses performances temps réel.
Nos travaux et résultats
Chacun des travaux ci-dessous répond à un verrou technique concret rencontré lors de ce programme de recherche et a également donné lieu à une valorisation scientifique.
Amélioration de l’état de l’art sur la simulation d’océan
Arc Blanc s’appuie sur la méthode de Tessendorf pour générer sa surface d’océan à grande échelle, mais la littérature scientifique manquait d’une description complète expliquant comment relier cette surface au reste d’un simulateur. Plus précisément, il manquait une approche globale répondant à ces questions :
- Comment un solide flottant est-il porté par les vagues ? C’est-à-dire étudier le couplage fluide vers solide ;
- Comment déforme-t-il l’eau en retour (sillage d’un bateau, onde créée par une chute) ? C’est-à-dire étudier le couplage solide vers fluide ;
- Comment utiliser les quantités physiques de la méthode de Tessendorf pour « nourrir » les méthodes de couplages ?

Nous avons complété Arc Blanc avec ces briques. D’un côté, les solides flottent et réagissent de façon réaliste aux vagues qui les portent. De l’autre, une méthode symétrique simule l’effet inverse : l’onde qu’un solide crée dans l’eau, comme le sillage d’un bateau ou les remous d’un objet qui tombe. Nous avons aussi ajouté deux nouveautés : connaître la vitesse de l’eau à n’importe quelle profondeur, pas seulement en surface, et calculer précisément ce qu’un solide transmet au fluide pour que les deux couplages restent cohérents entre eux. Le tout tourne en temps réel, même avec de nombreux solides à l’écran.
Ces travaux ont fait l’objet d’une publication dans le journal international Journal of Computer Graphics Techniques, ainsi que dans une conférence nationale (JFIG) et une conférence internationale en présentation invitée (I3D 2025).
Publications
- Arc Blanc: A Real Time Ocean Simulation Framework, David Algis, Bérenger Bramas, Emmanuelle Darles, Lilian Aveneau, Journal of Computer Graphics Techniques (JCGT), Vol. 14, No. 1, p. 70-115, 2025 ;
- Arc Blanc : un simulateur d’océan temps réel, Journées Françaises de l’Informatique Graphique (JFIG), Strasbourg, 2024 ;
- Arc Blanc: A Real-Time Ocean Simulator, présentation invitée, ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D 2025).
Accélérer la recherche des particules voisines
Comme dit plus haut, la méthode SPH simule le fluide au moyen de particules, et c’est cette brique qu’Arc Blanc doit à terme intégrer localement pour gérer les interactions fluide-solide avec précision. Chacune de ces particules interagit avec l’ensemble des autres particules. Le calcul de l’ensemble de ces interactions est trop coûteux, en plus d’être superflu. En effet, c’est comme si pour prédire le mouvement d’un ballon de football, on utilisait les molécules d’air voisines et celles à l’autre bout de la terre. C’est pour cette raison qu'on comptabilise uniquement les particules voisines. Malgré tout, lorsqu’on simule plusieurs milliers de particules, l’algorithme qui recherche les particules voisines devient une étape coûteuse dans la simulation. Aussi, l’amélioration des performances de la recherche des plus proches voisins d’une particule est un enjeux important dans notre quête de performances pour l’hybridation de nos deux modèles.
Nous avons exploré deux pistes pour accélérer cette étape sur la carte graphique. La première optimise l’approche classique par grille en tirant parti de la mémoire partagée des GPU avec deux stratégies de chargement des particules. La seconde, plus exploratoire, détourne les unités de lancer de rayons des cartes graphiques récentes (une technologie normalement dédiée au calcul de la lumière) pour retrouver directement les particules voisines sans construire de grille. Cette seconde piste reste aujourd’hui plus lente que l’approche classique dans la plupart des cas, mais ouvre une direction de recherche prometteuse à mesure que le matériel de lancer de rayons progresse.
Ces travaux ont fait l’objet d’une publication dans une conférence internationale (PCDS), ainsi que dans un journal international (IJACSA).
Publications
- Efficient GPU Implementation of Particle Interactions with Cutoff Radius and Few Particles per Cell, David Algis, Bérenger Bramas, Emmanuelle Darles, Lilian Aveneau, International Symposium on Parallel Computing and Distributed Systems (PCDS), Singapour, 2024 ;
- Exploiting Ray Tracing Technology through OptiX to Compute Particle Interactions with Cutoff in a 3D Environment on GPU, David Algis, Bérenger Bramas, International Journal of Advanced Computer Science and Applications (IJACSA), Vol. 16, No. 2, 2025.
Faire dialoguer Unity et CUDA
Arc Blanc est développé sous le moteur de jeu Unity. Celui-ci possède de nombreux avantages et met à disposition un grand nombre d’outils. Néanmoins, les outils de communication avec la carte graphique pour le calcul intensif sont relativement limités. C’est pour cette raison que nous privilégions pour les communications avec la carte graphique la technologie CUDA. Celle-ci est bien plus souple et performante, toutefois elle ne fonctionne pas directement avec Unity. C’est pourquoi, nous avons développé un nouvel outil : InteropUnityCUDA. Celui-ci crée le lien manquant entre Unity et CUDA.
Ces travaux ont fait l’objet d’une publication dans le journal international Software: Practice and Experience.
Publications
- InteropUnityCUDA: A Tool for Interoperability between Unity and CUDA, David Algis, Bérenger Bramas, Emmanuelle Darles, Lilian Aveneau, Software: Practice and Experience (SPE), Vol. 55, No. 6, p. 1127-1141, 2025 ;
- Outil disponible en licence libre MIT : github.com/davidAlgis/InteropUnityCUDA.
Hybrider les deux écheller de simulation
Le couplage avec les solides que nous avons décrit ci-dessus atteint le temps réel, mais reste fondé sur des approximations qui peuvent produire des incohérences physiques visibles : un navire qui se déplace de façon irréaliste au contact d’une petite vague, un objet qui s’enfonce dans une vague au lieu d’être porté par elle, ou l’absence de phénomènes comme les vagues déferlantes. La méthode SPH gère nativement ces interactions avec précision, mais à un coût de calcul qui interdit de l’utiliser sur un océan entier.
Actuellement, nous explorons une hybridation qui réserverait SPH aux zones exigeant une haute précision, typiquement autour des solides, et la méthode de Tessendorf partout ailleurs. Nous avons validé le principe d’hybridation à travers un prototype en deux dimensions, qui connecte une houle analytique (théorie des vagues d’Airy) à une simulation de particules localisée autour des obstacles : ce prototype démontre que l’énergie et le mouvement se transmettent correctement d’une représentation à l’autre, ouvrant la voie à une généralisation en trois dimensions et à une future intégration dans Arc Blanc.

Remerciements
L’ensemble de ces travaux de recherche a été possible grâce au Pôle Image Magelis, l’Agence Nationale de la Recherche et de la Technologie et l’État français via le dispositif du crédit d’impôt recherche.



Nos partenaires



