El editor de gaussian splats SuperSplat 3.0 se reescribe en WebGPU y consume casi 15 veces menos memoria en reposo
PlayCanvas ha lanzado SuperSplat Editor 3.0: el editor de gaussian splats 3D para navegador se ha reescrito desde cero en WebGPU. La proyección, el descarte por el frustum de visión, el empaquetado, la ordenación por profundidad y la emisión de las llamadas de dibujo de cada gaussiana se ejecutan ahora en la tarjeta gráfica en cada fotograma, y el editor ha dejado de guardar en JavaScript copias completas de la escena en formato float.
En una escena de prueba de 4,4 millones de splats (un PLY de 990 MB), el consumo máximo de memoria en reposo bajó de 1557 MB a 105 MB; al renderizar vídeo en 1080p, de 1673 MB a 142 MB; y al guardar un PLY comprimido, de 2982 MB a 1759 MB. Es ese ahorro el que permite cargar en una pestaña normal del navegador escenas que antes agotaban su memoria y, junto con el nuevo modo de render, trabajar con escenas de decenas de millones de gaussianas.
A cambio, la compatibilidad se ha estrechado: el render en WebGL2 se ha eliminado por completo en la tercera versión y con él ha desaparecido el worker de ordenación por software en la CPU. Sin WebGPU el editor no arranca: en lugar de la interfaz muestra un mensaje de que WebGPU no está disponible.
Qué aporta trasladar los cálculos a la tarjeta gráfica
Los cambios no afectan solo al render. Los histogramas, la selección por rango, la elección de color, el cálculo de las dimensiones y todas las pasadas de intersección en la selección se han pasado a shaders de cómputo. Un ejemplo revelador es la herramienta Orient: en una escena de 2,4 millones de gaussianas, hacer clic en ella antes bloqueaba la interfaz unos 8,5 segundos y ahora se resuelve en menos de 25 ms.
La exportación se ha rehecho con un esquema de streaming: el archivo se compone por trozos mediante splat-transform en lugar de hacerlo entero en la memoria RAM. Esto afecta a PLY, PLY comprimido, SOG, SPZ, el archivo de proyecto .ssproj y la publicación en la galería. La compilación se basa en PlayCanvas Engine 2.22.0 y splat-transform 3.3.3.
A la interfaz se ha añadido el diagnóstico Frame Timings: dibuja una gráfica del tiempo de fotograma en la GPU con el mínimo, la mediana y el percentil 95 del último segundo. Para quien prepara splats para un hardware de destino concreto, es una forma de ver las caídas sin salir del editor.
Pincel esférico y modo de render sin ordenación
La principal novedad del render es el modo Stochastic Alpha. Las gaussianas se dibujan opacas, con test de profundidad y cobertura por píxel, es decir, sin ordenación por profundidad; cuando la cámara se detiene, el editor repinta un fotograma totalmente ordenado con mezcla. En los ajustes están disponibles las opciones «desactivado», «activado», «solo en movimiento» y «automático»: esta última viene por defecto y pasa al modo estocástico solo si el fotograma ordenado resulta lento en la tarjeta gráfica concreta, y vuelve a la ordenación cuando la vista se aligera. En la demostración de PlayCanvas el modo se muestra sobre un escaneo de un jardín botánico de unos 20 millones de gaussianas.
Entre las herramientas de edición, lo más llamativo es el nuevo pincel esférico (Shift+B): cada punto del trazo se coloca a la profundidad que hay bajo el cursor, el radio se recalcula al tamaño en el mundo a esa profundidad y, en los saltos de profundidad, el trazo se parte; el pincel sigue la superficie del escaneo y no captura lo que queda detrás. El antiguo conmutador «por la superficie / a través» se ha sustituido por dos parámetros independientes, Selection Depth y Selection Footprint; la selección por la huella de la gaussiana se calcula en la GPU. Los splats con alfa cero también se seleccionan ahora.
La corrección de color se ha trasladado de los ajustes generales al gestor de escena y se aplica a la selección, no solo a toda la escena. Están disponibles el tono, la temperatura, la saturación, el brillo, los puntos de negro y de blanco y la transparencia, con vista previa en vivo en el viewport y un botón de aplicar que fija la edición. Ahora se puede retocar una zona del escaneo de forma local directamente en el editor.
Otros cambios:
- panel Appearance con interruptores separados para gaussianas, centros y anillos, grosor de los anillos, tamaño de los centros y ajuste del color de la selección; las superposiciones auxiliares están desactivadas por defecto y todas se ocultan de golpe con Tab;
- panel emergente de superposiciones: rejilla y planos, caja envolvente con sus dimensiones, posiciones de las cámaras, datos de cámara, tiempos de fotograma;
- rejilla rediseñada: los planos XZ, XY e YZ se activan de forma independiente, el paso es adaptativo y hay líneas a 100 y 1000 metros para escenas grandes;
- sección Preferences con idioma, mapeo tonal, número de bandas de armónicos esféricos, velocidad de vuelo, ángulo de visión y restablecimiento de los ajustes;
- importación por lotes acelerada de poses de cámara desde JSON y COLMAP, render ortográfico correcto y picking por profundidad cuando la cámara está dentro de los límites de la escena;
- el editor se instala como aplicación y se registra como gestor de los archivos .ply, .splat, .sog, .spz, .ksplat y .ssproj.
Requisitos y salto desde la versión 2.x
El requisito de WebGPU deja fuera a una parte de los usuarios: funcionan las versiones actuales de Chrome y Edge, Safari 26 y superior, y también Firefox con WebGPU activado. A quien no le sirva, PlayCanvas le ha mantenido la segunda rama: la última versión, la 2.32.5, sigue disponible en el repositorio. También hay un matiz con los proyectos: los archivos .ssproj guardados en 3.0 solo se abren en 3.0 y posteriores, mientras que la tercera versión lee sin problemas los proyectos de 2.x. En el primer arranque se recomienda recargar la página a fondo: así se dan de baja el antiguo service worker y la caché sin conexión de la versión 2.x.
Las condiciones de distribución no han cambiado: SuperSplat Editor es gratuito, el código fuente es abierto bajo licencia MIT y no hay que instalar nada: se trabaja en superspl.at directamente en el navegador.
Por qué se ha abandonado WebGL2 justo ahora
La decisión parece preparada de antemano. Ya en junio PlayCanvas pasó su visor de splats a un renderizador WebGPU con shaders de cómputo, y el editor iba detrás. Llegados a ese punto, mantener dos backends gráficos probablemente dejó de compensar: la ordenación en la CPU y el almacenamiento de la escena en JavaScript eran la principal limitación, y la vía paralela de render en WebGL2 no permitía deshacerse de ellos.
La tendencia más general es que los gaussian splats están saliendo de la fase de demostración. Se desarrollan los formatos de compresión e intercambio —en PlayCanvas, su propio SOG, y junto a él el editor admite SPZ— y la compatibilidad con splats aparece en motores, aplicaciones móviles de captura y pipelines de producción. Las herramientas se adaptan a la escala: si una escena de decenas de millones de gaussianas se convierte en la norma de trabajo, el editor se ve obligado a calcularla en la tarjeta gráfica.
Con esta transición de fondo, es probable que las herramientas de CG en el navegador se muevan hacia WebGPU siguiendo el mismo guion: primero el visor, luego el editor y después el abandono de la compatibilidad con WebGL2. Para los estudios, eso supone desplazar los requisitos de las estaciones de trabajo de modeladores y especialistas en escaneo hacia navegadores y controladores recientes.
¿Qué es más importante para ti en SuperSplat 3.0?
- La caída del consumo de memoria
- El paso a WebGPU
Стрэйт в точку.
Это же универсальный международный термин, зачем это переводить? А читателю потом гадай что имелось ввиду, ведь в каждом месте будет своя "лучшая" версия перевода. Вы сплайны как называете? А curve заменяете на изгиб? Ладно еще в какой научной работе, могу понять, но не в бытовом использовании.
Но path tracing и ray tracing зачем-то же перевели?!
Чё прям уже универсальный? И даже международный? :)
Прям в каждом своя?
кривые..
кривые
"Дорогая можно мне полином из огурцов"
Хех... Графика с математикой это, ёп, быт... Аще! :)
Ну как бы Gaussian вполне себе международный, да.
Сплайн - это не "кривая". Раз уж хотите умствованиями заниматься, то подыщите более верный термин:)
И серьезно, вы реально считаете что такие переводы уместны? Вы когда-нибудь пробовали перевести интерфейс софта на русский и не умереть от попыток понять что и где находится? Следовать урокам, например? Как тут уже заметили, удачи с поиском диффузных эллипсоидов!
Вы хоть бы, я не знаю, посмотрели значение слова "международный" что-ли..
Опа, новость. А что же это? Просветите..
Уместно знать русский язык до конца. И неуместно, забыв школу, заниматься демагогией и пачкотнёй всех смыслов.
И да, неплохо бы уже напрячься и заняться переводом.
Критическая масса дремучей необразованности в сети уже свербит глаза. Вот прямое следствие этих "Математика мне не пригодится", "Учителя виноваты, козлы", "Нахрен мне ваш синус", "Институт говно ничего не даст". И ведь ещё спорят без тени сомнений и используют свои писякносу приёмчики. С диффузными эллипсоидами товарищ как раз показал это, выпендрился на нищих знаниях, браво.
А помимо простых научных терминов, есть ещё такая дисциплина как герменевтика. Там вообще караул.
Этимология слова "splat" проста как срака мамонта. Это орфографическое описание звука удара о обычно что-то жидкое или плоское. Русское "шлёп".
Клякса, шлепок, капля, частица, молекула, снежок, облачко, кисточка, шарик. Да, бляха муха, "блямба" гораздо привычнее и понятнее чем сплат.
Хотите читать "сплаты" и потом это рассказывать? Удачи с мозолью на языке, обьясняя на каждое "чё?!", коих неизменно будет сразу сотни, значение этой мутировавшей байды.
Вы, наверняка, знаете все +/- 500 тысяч слов, все правила правописания и грамматики, коих насчитывается около 400?
Ну и чего же вы ждете? Напрягайтесь и занимайтесь! Или кто-то другой должен это делать?
Не поймите меня неправильно, я всецело за образование и "дремучесть" тоже меня не радует, но нужно быть реалистом. Никакая "блямба" не сможет заменить технические термины, которые у всех на слуху. Если термин пришел "извне", то и приживается он в таком виде - это нормальная практика и далеко не только в русскоязычной сфере.
П.С. Писать имя John как Джон в вашем прозвище - это, следуя вашей же логике, дремучая необразованность! Нужно Иван:)
Сорри за флуд:)
Почему вы вместо "Этимология" не написали "Истинное Значение"? ))
В общем понятно. Взывать к рассудку бесполезно.. Хех.. Splat - технический термин. Ну обалдеть..
Мде. И тут опростоволосился. Напачкал мимо. Даже съязвить знаний не хватило.
Имена собственные не переводятся.
Вера Львовна Медведева - Faith Lion's Daughter of Bears - следюя вясей зе лёгике..
Ну наверно потому что это не "Истинное Значение", а раздел лингвистики, изучающий происхождение слова и это действительно научный термин имеющий перевод.
Ну давайте, спросите меня, почему же я написал этимология вместо "происхождение слова"...
А потом спросите меня, почему же учёные говорят "ашдвао", но отчего-то "функция".
Давайте, уводите в сторону от сути.
Не случайно ли ученые решили использовать греческий и латынь, а не переводить на свои языки?
Так же и с IT - начиная с кода и заканчивая терминологией людям удобнее не переводить. Но некоторые упираются ))
"Хартия переводчиков гласит, что перевод в современном мире должен служить сближению народов. А вы своим лепетом... только разобщаете" @Бузыкин.