3 points par GN⁺ 2025-06-13 | 1 commentaires | Partager sur WhatsApp
  • S’intègre au pipeline de rendu THREE.js pour afficher ensemble des objets basés sur des splats et des meshes
  • Excellente portabilité, fonctionne sur presque tous les appareils (plus de 98 % de prise en charge de WebGL2)
  • Offre des performances de rendu rapides même sur des appareils mobiles peu puissants
  • Rendu simultané de plusieurs objets splat avec tri correctement géré
  • Prend en charge la plupart des principaux formats de fichiers splat, dont .PLY (y compris compressé), .SPZ, .SPLAT, .KSPLAT
  • Prend en charge le rendu simultané depuis plusieurs points de vue
  • Édition dynamique : chaque objet splat peut être transformé individuellement et animé
  • Prend en charge l’édition des couleurs en temps réel, le déplacement et l’animation squelettique
  • Un système de shader graph permet de générer/modifier dynamiquement des splats sur le GPU

1 commentaires

 
GN⁺ 2025-06-13
Commentaires sur Hacker News
  • Démo extrêmement impressionnante, et elle fonctionne bien même sur mon vieil iPhone
    En tant que développeur de jeux amateur qui ne maîtrise pas très bien la programmation 3D professionnelle, je dirais qu’ajouter quelque part sur GitHub ou sur le site une explication d’une ligne sur ce qu’est le « Gaussian Splatting » serait utile
    C’est en lisant une phrase de Wikipédia que j’ai commencé à mieux percevoir l’intérêt et le potentiel
    Le Gaussian Splatting est une technique de rendu volumétrique qui affiche directement des données volumiques sans les convertir en surfaces ou en primitives linéaires
    Le fait que cela permette de créer des nuages, du feu ou de la fumée très performants est vraiment génial

    • Merci pour le retour
      Il faut clairement qu’on ajoute une FAQ
  • La démo de scan alimentaire (l’exemple « Interactivity ») est bluffante
    Regarder à l’intérieur des trous du pain dans le Mel's Steak Sandwich est particulièrement impressionnant
    Même avec seulement le GPU intégré de mon ordinateur portable, les performances sont excellentes au vu du niveau de détail affiché
    Je me demande dans quels domaines ce type de technologie est principalement utilisé aujourd’hui

    • Il existe une communauté qui scanne de petits objets avec des appareils portables ou des drones
      Tipatat a fourni les scans de nourriture pour cette démo
      J’aime aussi les scans de fleurs de kotohibi
      https://superspl.at/user?id=kotohibi

    • Avec ce niveau de détail, le volume de données à transférer n’est pourtant pas si élevé
      Environ 80 Mo, ce qui est vraiment étonnant

  • Vraiment très cool
    BabylonJS gère aussi très bien les Gaussian Splats
    https://doc.babylonjs.com/features/featuresDeepDive/mesh/gaussianSplatting

    • BabylonJS et Aframe ont des licences similaires, ainsi qu’un nombre proche d’étoiles et de forks sur GitHub
      Aframe est plus récent et davantage orienté jeu et VR
      J’aimerais savoir comment quelqu’un qui a utilisé Babylon, Aframe, Three.js et PlayCanvas les comparerait
      PlayCanvas est commercial, mais semble le plus mature, le plus riche en fonctionnalités et très performant
      Babylon est un moteur 3D orienté fonctionnalités, tandis que Three.js fournit surtout les bases
      Le support de l’animation et des textures est bon, mais au final il faut quand même construire soi-même sa boîte à outils
      Je suis curieux de connaître les bonnes comme les mauvaises expériences avec ces moteurs
      La démo de l’OP est vraiment solide
      Je me demande quel est le principal argument d’Aframe et où se situe sa force
      Je me demande aussi comment l’avenir du Gaussian Splatting va évoluer, et si l’édition et l’animation deviendront bientôt possibles non seulement pour la simple visualisation ou les jumeaux numériques, mais aussi dans la création et le jeu vidéo
      Aframe GitHub
      PlayCanvas
  • Beau travail
    Mais les performances sont très mauvaises sur mon ordinateur portable avec un GPU Nvidia RTX A3000 sous Firefox
    Avec autant de cœurs shader, ça pourrait devenir brûlant au toucher

    • Je serais curieux de savoir sur quelle démo / quel exemple précis cela s’est produit
  • Je me demande s’il est possible de courir partout avec son téléphone et de capturer des Gaussian Splats de type herbe, buissons, terre, etc.
    En sélectionnant par exemple une parcelle de sol d’un mètre carré, ou un volume d’un mètre cube incluant un buisson
    Puis de répéter les blocs d’herbe et de mélanger ici et là des buissons ou de la terre pour créer un monde « façon Minecraft »
    Il faudrait sans doute un sacré matériel pour rendre des milliers de blocs

    • On pourrait clairement en faire un prototype
      Ce serait vraiment superbe à voir en pratique
  • Vraiment très cool
    Je me demande si vous avez des informations sur les goulots d’étranglement actuels côté performances
    Surtout dans les scènes dynamiques
    L’exemple de simulation de particules saccade, mais dès qu’on tourne la caméra les performances s’améliorent soudainement
    J’ai l’impression que cela veut dire que la partie d’arrière-plan statique était plus lourde que prévu, mais indépendamment de ça, la pyramide de Sierpinski générée procéduralement est vraiment impressionnante

    • Le nombre et la distribution des splats dans la scène ont un impact sur les performances
      Il est aussi possible que la personne ait simplement tourné la caméra vers une direction moins complexe
      Il reste encore du travail pour stabiliser les performances
      À l’avenir, nous comptons mettre en place un système de LOD
  • Un lien vers le repo qui mériterait d’être plus visible
    https://github.com/sparkjsdev/spark

  • Je reste sceptique sur la capacité du Gaussian Splatting à aller au-delà de la démo
    Les tailles de fichiers sont trop importantes
    Par exemple, le steak sandwich pèse 12 Mo
    Au SIGGRAPH l’an dernier, j’ai vu un clone de Matterport basé sur Gaussian Splat où il fallait streamer 1,5 Go pour visiter un appartement de deux chambres
    C’est une belle démo

    • La technique de compression SOGS est efficace
      Elle permet de stocker environ 1 million de Gaussians en incluant les Spherical Harmonics complets dans environ 14 Mo
      Il y a un bon billet de blog de PlayCanvas à ce sujet
      https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3dgs-compression

    • Pour référence, le steak sandwich de 12 Mo est le plus gros fichier
      Tous les autres font moins de 10 Mo, et certains sont très convaincants avec seulement 1 à 3 Mo
      (par exemple : Iberico Sandwich 1 Mo, Clams and Caviar 1,8 Mo, etc.)
      Des méthodes de compression avancées comme SOGS devraient arriver bientôt
      Cet exemple fait 30 Mo
      https://vincentwoo.com/3d/sutro_tower/

    • La principale raison de la taille des fichiers est le stockage des coefficients de Spherical Harmonics
      C’est un problème solvable

  • J’ai l’impression que ce nom est un peu trop utilisé
    Il y a déjà Apache Spark, SPARK (Ada), sparklines et SPARQL