Navier-Stokes fluid simulation explained with Godot game engine
L'auteur explique comment implémenter une simulation de fluides pour jeux en Godot en partant de zéro, en précisant que le projet est pédagogique, CPU-only et que le code est disponible sur GitHub. La simulation utilise une grille N×N avec bordures, des tableaux scalaires pour la densité et des tableaux pour les composantes de vitesse u/v, un indexeur IX, et des fonctions d'affichage pour dessiner la densité et des flèches de vitesse ainsi que l'interaction par la souris pour injecter densité et vitesse. Les opérations physiques sont réalisées par advection inversée (suivi arrière et interpolation bilinéaire), diffusion par relaxation de Gauss-Seidel répétée, et gestion des frontières en copiant ou en inversant les valeurs selon le type de champ. Pour garantir l'incompressibilité, l'auteur calcule la divergence, résout un champ de pression par itérations Gauss-Seidel puis soustrait le gradient de pression de la vitesse (projection), en appelant cette correction après diffusion et advection. Le billet détaille les paramètres modifiables, conseille des compromis précision/performance, évoque des améliorations possibles comme le confinement de vorticité et une future implémentation sur GPU via compute shader, et invite à consulter le dépôt et à contacter l'auteur.