3 puntos por GN⁺ 2025-06-13 | 1 comentarios | Compartir por WhatsApp
  • Se integra con el pipeline de renderizado de THREE.js para mostrar juntos objetos basados en splats y meshes
  • Tiene una gran portabilidad y funciona en casi cualquier dispositivo (más del 98% con soporte para WebGL2)
  • Ofrece renderizado rápido incluso en dispositivos móviles de gama baja
  • Permite renderizar múltiples objetos splat al mismo tiempo y también ordenarlos correctamente
  • Soporta la mayoría de los principales formatos de archivos splat, como .PLY (incluyendo compresión), .SPZ, .SPLAT y .KSPLAT
  • Soporta renderizado simultáneo desde múltiples puntos de vista
  • Edición dinámica: cada objeto splat puede transformarse individualmente y aplicársele animación
  • Soporta edición de color en tiempo real, desplazamiento y animación esquelética
  • Con un sistema de shader graph, se pueden generar/editar splats dinámicamente en la GPU

1 comentarios

 
GN⁺ 2025-06-13
Opiniones en Hacker News
  • Me dio la impresión de ser una demo sumamente impresionante, incluso funciona bien en mi iPhone viejo
    Como desarrollador aficionado de juegos, sin mucho conocimiento profesional de programación 3D, mi retroalimentación sería que estaría bueno agregar en algún lugar de GitHub o del sitio web una explicación de una línea sobre qué es “Gaussian Splatting”
    Una sola línea tomada de Wikipedia me hizo sentir mucho más interés y ver más posibilidades
    Gaussian Splatting es una técnica de renderizado volumétrico que renderiza datos de volumen directamente sin convertirlos en superficies o primitivas de línea
    Es realmente genial que permita crear nubes, fuego, humo y cosas así con alto rendimiento

    • Gracias por la retroalimentación
      Definitivamente tengo que agregar un FAQ
  • La demo de escaneo de comida (el ejemplo “Interactivity”) es sorprendente
    En particular, fue impresionante poder mirar dentro de los agujeros del pan en el Mel's Steak Sandwich
    Incluso en mi laptop con solo gráficos integrados, el rendimiento es excelente en relación con el nivel de detalle visible
    Me da curiosidad saber en qué se está usando principalmente esta tecnología hoy en día

    • Existe una comunidad que escanea objetos pequeños con dispositivos handheld o drones
      Tipatat aportó los escaneos de comida para esta demo
      A mí también me gustan los escaneos de flores de kotohibi
      https://superspl.at/user?id=kotohibi

    • Y aun con este nivel de detalle, la cantidad de datos transferidos no es tan grande
      Son como 80MB, lo cual de verdad sorprende

  • Está realmente genial
    BabylonJS también soporta muy bien Gaussian Splat
    https://doc.babylonjs.com/features/featuresDeepDive/mesh/gaussianSplatting

    • BabylonJS y Aframe tienen licencias parecidas, así como una cantidad similar de estrellas y forks en GitHub
      Aframe es un proyecto más reciente y está más enfocado en juegos y VR
      Me da curiosidad cómo los compararía alguien que haya usado Babylon, Aframe, Three.js y PlayCanvas
      PlayCanvas es comercial, pero parece el más maduro, con más funciones y mejor rendimiento
      Babylon es un motor 3D orientado a funciones, y Three.js ofrece lo básico
      Tiene buen soporte para animación y texturas, pero al final terminas armando tu propio toolkit
      Me interesa saber qué experiencias buenas o malas ha tenido la gente con estos motores
      La demo del OP se ve realmente sólida
      Me pregunto cuál sería la propuesta de valor y el pitch de Aframe
      También me pregunto cómo se desarrollará el futuro de Gaussian Splatting, no solo en visualización simple o en la industria de digital twins, sino si pronto será posible editarlo y animarlo también en campos creativos o de juegos
      Aframe GitHub
      PlayCanvas
  • Muy buen trabajo
    Pero el rendimiento es muy malo en la combinación de mi laptop con una GPU Nvidia RTX A3000 y Firefox
    Con esa cantidad de shader cores, hasta podría calentarse al punto de quemar la mano

    • Me interesa saber en qué demo/ejemplo específico te pasó eso
  • Me pregunto si se puede andar corriendo con el teléfono y capturar Gaussian Splats de pasto, arbustos y tierra
    Elegir un parche de suelo cuadrado de 1 metro, o un espacio cúbico de 1 metro con un arbusto incluido
    y luego repetir bloques de pasto e ir mezclando arbustos o tierra aquí y allá para crear un mundo con “sensación de Minecraft”
    Supongo que para renderizar miles de bloques haría falta bastante hardware

    • Definitivamente se podría hacer un prototipo así
      Sería increíble verlo en la práctica
  • Está muy padre
    Me pregunto si tienen alguna perspectiva sobre los cuellos de botella de rendimiento actuales
    Sobre todo en escenas dinámicas
    El ejemplo de simulación de partículas se traba, pero cuando giro la cámara de pronto el rendimiento mejora bastante
    Eso parece significar que la parte del fondo estático era más pesada de lo que esperaba, y aparte de eso la pirámide de Sierpinski generada de forma procedural es realmente impresionante

    • La cantidad y distribución de splats en la escena afectan el rendimiento
      Probablemente también sea porque giraste la cámara hacia una dirección menos compleja
      Todavía queda trabajo por hacer para mantener el rendimiento estable
      Más adelante planeo aplicar un sistema LOD
  • Un enlace al repo un poco más visible
    https://github.com/sparkjsdev/spark

  • Sigo siendo escéptico sobre si Gaussian Splatting puede hacer algo más que ser una demo
    El tamaño de los archivos es demasiado grande
    Por ejemplo, el sándwich de steak pesa 12MB
    El año pasado en SIGGRAPH vi un clon de Matterport basado en Gaussian Splats, y se necesitaban 1.5GB de streaming para ver un departamento de 2 habitaciones
    Es una demo genial

    • La técnica de compresión SOGS es efectiva
      Se pueden guardar 1M Gaussian con full Spherical Harmonics en alrededor de 14MB
      Hay un muy buen post relacionado en el blog de PlayCanvas
      https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3dgs-compression

    • Como referencia, el archivo del steak sandwich de 12MB es el más grande
      Los demás están por debajo de 10MB, y algunos son bastante convincentes con 1-3MB
      (por ejemplo: Iberico Sandwich 1MB, Clams and Caviar 1.8MB, etc.)
      Pronto llegarán métodos de compresión avanzados como SOGS
      Este ejemplo pesa 30MB
      https://vincentwoo.com/3d/sutro_tower/

    • La principal razón de que los archivos sean grandes es que hay que almacenar los coeficientes de Spherical Harmonics
      Es un problema que se puede resolver

  • Me da la impresión de que el nombre está un poco sobreusado
    Ya existen Apache Spark, SPARK (Ada), sparklines y SPARQL