Babylon.js 9.0 : éclairage en clusters, particules nodales et refonte du Gaussian Splatting
Babylon.js 9.0 est disponible, et il s’agit de la plus importante version publiée à ce jour par ce moteur WebGPU/WebGL open source. Sa fonctionnalité phare est un système d’éclairage en clusters qui permet aux scènes d’afficher des centaines, voire des milliers de lumières dynamiques avec une fréquence d’images fluide, aussi bien avec WebGPU qu’avec WebGL 2.
Le nouvel éditeur de particules nodales de Babylon.js 9.0
L’éclairage en clusters change tout
L’éclairage traditionnel par pixel oblige chaque pixel à calculer la contribution de toutes les lumières de la scène, même celles qui se trouvent très loin de lui. L’éclairage en clusters résout ce problème en regroupant les lumières dans des tuiles à l’écran et des tranches de profondeur. Lors du rendu, chaque pixel n’évalue que les lumières qui l’affectent réellement. Ainsi, une scène comportant 1 000 lumières dynamiques peut désormais fonctionner à une fréquence d’images adaptée au temps réel au lieu de tourner au ralenti.
Cette fonctionnalité est disponible avec WebGPU et WebGL 2, ce qui permet à l’amélioration des performances de profiter au plus large public possible.
Lumières surfaciques texturées
Les lumières surfaciques ont été introduites dans Babylon.js 8.0. La version 9.0 ajoute des textures d’émission, afin de pouvoir projeter n’importe quelle image à travers une lumière surfacique rectangulaire. Imaginez des projections de vitraux, des panneaux d’affichage à LED ou des configurations d’éclairage cinématographiques avec une émission lumineuse physiquement réaliste.
Éclairage volumétrique
Le nouveau système d’éclairage volumétrique restitue les faisceaux lumineux à travers le brouillard, la poussière et la brume. Il comprend des paramètres configurables d’extinction et de phase, permettant de contrôler artistiquement la diffusion de la lumière dans l’atmosphère. Le système prend en charge les sources lumineuses directionnelles et utilise les shaders de calcul WebGPU lorsqu’ils sont disponibles, avec des solutions de repli pour WebGL 2.
Éditeur de particules nodales
L’éditeur de particules nodales (NPE) est un outil visuel de glisser-connecter permettant de créer des systèmes de particules. Si vous avez déjà utilisé l’éditeur de matériaux nodaux, le processus est identique. Un graphe de nœuds non destructif offre un contrôle total sur les formes d’émission, les feuilles de sprites, les comportements de mise à jour et les sous-émetteurs. Des cartes de flux et des attracteurs gravitationnels complètent les améliorations apportées aux particules.
Refonte du Gaussian Splatting
Babylon.js a introduit la prise en charge du Gaussian Splatting dans sa version 7.0. La version 9.0 réécrit le système en ajoutant la projection d’ombres, le splatting triangulaire pour un rendu opaque semblable à celui des maillages, ainsi que la prise en charge des formats compressés SOG/SOGS en plus des fichiers .splat, .ply et .spz. Vous pouvez désormais combiner plusieurs ressources de splatting dans une même scène avec un tri global, chaque partie pouvant être transformée et animée indépendamment. Adobe a contribué à ce travail.
Système Frame Graph
Le Frame Graph, introduit en tant que fonctionnalité alpha dans la version 8.0, atteint sa version 1 avec cette publication. Il s’agit d’un graphe orienté acyclique dans lequel chaque nœud représente une tâche de rendu. Le système gère automatiquement l’allocation, la réutilisation et l’optimisation des textures. L’équipe fait état d’économies de mémoire GPU de 40 % ou plus dans certains cas. Vous pouvez composer visuellement des pipelines de rendu personnalisés à l’aide de l’éditeur Node Render Graph, ou par programmation grâce au framework de classes.
Autres nouveautés
Le reciblage d’animations permet d’appliquer les animations du squelette d’un personnage à un autre, même si leurs structures osseuses et leurs conventions de nommage diffèrent. Cette version comprend également un inspecteur entièrement remanié, un système de rendu des vastes mondes qui évite les tremblements dus à la virgule flottante dans les grands systèmes de coordonnées, ainsi que des fonctionnalités de rendu géospatial.