SuperSplat 3.0 Gaussian splat editor rewritten on WebGPU, needs almost 15 times less memory at idle
PlayCanvas has released SuperSplat Editor 3.0 — the browser-based 3D Gaussian splat editor has been rewritten from scratch on WebGPU. Projection, view frustum culling, packing, depth sorting and the issuing of draw calls for every Gaussian now run on the graphics card every frame, and the editor has stopped keeping full float copies of the scene in JavaScript.
On a test scene of 4.4 million splats (a 990 MB PLY), peak memory use at idle fell from 1557 MB to 105 MB; while rendering 1080p video, from 1673 MB to 142 MB; and while saving a compressed PLY, from 2982 MB to 1759 MB. It is this saving that makes it possible to load scenes in an ordinary browser tab that used to exhaust its memory — and, together with the new rendering mode, to work with scenes of tens of millions of Gaussians.
Compatibility has narrowed as a result: WebGL2 rendering has been removed from the third version entirely, and the CPU software sorting worker went with it. Without WebGPU the editor will not start — instead of the interface it shows a message saying that WebGPU is unavailable.
What moving the computation to the graphics card delivers
The changes affect more than rendering. Histograms, selection by range, colour picking, the calculation of bounds and all the intersection passes used in selection have been moved into compute shaders. A telling example is the Orient tool: on a scene of 2.4 million Gaussians, clicking it used to freeze the interface for around 8.5 seconds, and now it completes in less than 25 ms.
Export has been reworked into a streaming scheme: the file is assembled in chunks via splat-transform rather than in RAM as a whole. This applies to PLY, compressed PLY, SOG, SPZ, the .ssproj project file and publishing to the gallery. The build is based on PlayCanvas Engine 2.22.0 and splat-transform 3.3.3.
A Frame Timings diagnostic has been added to the interface: it draws a graph of GPU frame time with the minimum, the median and the 95th percentile over the last second. For anyone preparing splats for specific target hardware, this is a way to see the slowdowns without leaving the editor.
A spherical brush and a rendering mode without sorting
The main novelty in rendering is the Stochastic Alpha mode. Gaussians are drawn opaque, with a depth test and per-pixel coverage, that is, without depth sorting; when the camera stops, the editor draws in a fully sorted frame with blending. The settings offer the options “off”, “on”, “only while moving” and “auto” — the last is the default and switches to the stochastic mode only if the sorted frame turned out to be slow on the particular graphics card, returning to sorting when the view becomes lighter. In the PlayCanvas demonstration the mode is shown on a scan of a botanical garden of roughly 20 million Gaussians.
Among the editing tools, the most noticeable is the new spherical brush (Shift+B): every point of the stroke is placed at the depth under the cursor, the radius is recalculated into a world size at that depth, and at depth discontinuities the stroke is broken up — the brush follows the surface of the scan and does not catch what lies behind it. The old “on surface / through” toggle has been replaced by two separate parameters, Selection Depth and Selection Footprint; selection by the footprint of a Gaussian is computed on the GPU. Splats with zero alpha are now selectable as well.
Colour correction has moved from the general settings into the scene manager and is applied to the selection, not only to the whole scene. Hue, temperature, saturation, brightness, black and white points and transparency are available — with a live preview in the viewport and an apply button that bakes the edit in. A patch of a scan can now be fixed up locally right inside the editor.
Other changes:
- an Appearance panel with separate toggles for Gaussians, centres and rings, ring thickness, centre size and a selection colour setting; the utility overlays are off by default and all of them hide at once with Tab;
- a pop-up overlay panel: grid and planes, bounding box with dimensions, camera positions, camera data, frame timings;
- a reworked grid — the XZ, XY and YZ planes are enabled independently, the step is adaptive, with lines at 100 and 1000 metres for large scenes;
- a Preferences section with language, tone mapping, the number of spherical harmonics bands, fly speed, field of view and a settings reset;
- faster batch import of camera poses from JSON and COLMAP, correct orthographic rendering and depth picking when the camera is inside the scene bounds;
- the editor installs as an application and registers itself as a handler for .ply, .splat, .sog, .spz, .ksplat and .ssproj files.
Requirements and moving over from version 2.x
The WebGPU requirement cuts off part of the user base: current Chrome and Edge work, as does Safari version 26 and above, and Firefox with WebGPU enabled. For those whom this does not suit, PlayCanvas has kept the second branch — the last release, 2.32.5, remains available in the repository. There is also a caveat with projects: .ssproj files saved in 3.0 open only in 3.0 and newer, whereas the third version reads projects from 2.x without any trouble. On first launch a hard page reload is recommended — the old service worker and the offline cache from version 2.x are unregistered.
The distribution terms have not changed: SuperSplat Editor is free, the sources are open under the MIT licence and nothing needs to be installed — the work happens on superspl.at right in the browser.
Why WebGL2 was abandoned precisely now
The decision looks prepared in advance. Back in June PlayCanvas moved its splat viewer to a WebGPU renderer with compute shaders, and the editor was following behind. At that stage, supporting two graphics backends probably stopped paying off: sorting on the CPU and keeping the scene in JavaScript were the main limitation, and the parallel WebGL2 rendering path made it impossible to get rid of them.
The more general trend here is that Gaussian splats are leaving the demonstration stage. Compression and interchange formats are developing — at PlayCanvas that is its own SOG, and alongside it the editor supports SPZ — while support for splats is appearing in engines, mobile capture apps and production pipelines. The tools are adapting to the scale: if a scene of tens of millions of Gaussians becomes the working norm, the editor has no choice but to compute it on the graphics card.
Against the backdrop of this transition, browser-based CG tools will probably move towards WebGPU by the same scenario — first the viewer, then the editor, then dropping compatibility with WebGL2. For studios this means a shift in the requirements for the workstations of modellers and scanning specialists towards recent browsers and drivers.
What matters more to you in SuperSplat 3.0?
- The drop in memory use
- The move to WebGPU
Стрэйт в точку.
Это же универсальный международный термин, зачем это переводить? А читателю потом гадай что имелось ввиду, ведь в каждом месте будет своя "лучшая" версия перевода. Вы сплайны как называете? А curve заменяете на изгиб? Ладно еще в какой научной работе, могу понять, но не в бытовом использовании.
Но path tracing и ray tracing зачем-то же перевели?!
Чё прям уже универсальный? И даже международный? :)
Прям в каждом своя?
кривые..
кривые
"Дорогая можно мне полином из огурцов"
Хех... Графика с математикой это, ёп, быт... Аще! :)
Ну как бы Gaussian вполне себе международный, да.
Сплайн - это не "кривая". Раз уж хотите умствованиями заниматься, то подыщите более верный термин:)
И серьезно, вы реально считаете что такие переводы уместны? Вы когда-нибудь пробовали перевести интерфейс софта на русский и не умереть от попыток понять что и где находится? Следовать урокам, например? Как тут уже заметили, удачи с поиском диффузных эллипсоидов!
Вы хоть бы, я не знаю, посмотрели значение слова "международный" что-ли..
Опа, новость. А что же это? Просветите..
Уместно знать русский язык до конца. И неуместно, забыв школу, заниматься демагогией и пачкотнёй всех смыслов.
И да, неплохо бы уже напрячься и заняться переводом.
Критическая масса дремучей необразованности в сети уже свербит глаза. Вот прямое следствие этих "Математика мне не пригодится", "Учителя виноваты, козлы", "Нахрен мне ваш синус", "Институт говно ничего не даст". И ведь ещё спорят без тени сомнений и используют свои писякносу приёмчики. С диффузными эллипсоидами товарищ как раз показал это, выпендрился на нищих знаниях, браво.
А помимо простых научных терминов, есть ещё такая дисциплина как герменевтика. Там вообще караул.
Этимология слова "splat" проста как срака мамонта. Это орфографическое описание звука удара о обычно что-то жидкое или плоское. Русское "шлёп".
Клякса, шлепок, капля, частица, молекула, снежок, облачко, кисточка, шарик. Да, бляха муха, "блямба" гораздо привычнее и понятнее чем сплат.
Хотите читать "сплаты" и потом это рассказывать? Удачи с мозолью на языке, обьясняя на каждое "чё?!", коих неизменно будет сразу сотни, значение этой мутировавшей байды.
Вы, наверняка, знаете все +/- 500 тысяч слов, все правила правописания и грамматики, коих насчитывается около 400?
Ну и чего же вы ждете? Напрягайтесь и занимайтесь! Или кто-то другой должен это делать?
Не поймите меня неправильно, я всецело за образование и "дремучесть" тоже меня не радует, но нужно быть реалистом. Никакая "блямба" не сможет заменить технические термины, которые у всех на слуху. Если термин пришел "извне", то и приживается он в таком виде - это нормальная практика и далеко не только в русскоязычной сфере.
П.С. Писать имя John как Джон в вашем прозвище - это, следуя вашей же логике, дремучая необразованность! Нужно Иван:)
Сорри за флуд:)
Почему вы вместо "Этимология" не написали "Истинное Значение"? ))
В общем понятно. Взывать к рассудку бесполезно.. Хех.. Splat - технический термин. Ну обалдеть..
Мде. И тут опростоволосился. Напачкал мимо. Даже съязвить знаний не хватило.
Имена собственные не переводятся.
Вера Львовна Медведева - Faith Lion's Daughter of Bears - следюя вясей зе лёгике..
Ну наверно потому что это не "Истинное Значение", а раздел лингвистики, изучающий происхождение слова и это действительно научный термин имеющий перевод.
Ну давайте, спросите меня, почему же я написал этимология вместо "происхождение слова"...
А потом спросите меня, почему же учёные говорят "ашдвао", но отчего-то "функция".
Давайте, уводите в сторону от сути.
Не случайно ли ученые решили использовать греческий и латынь, а не переводить на свои языки?
Так же и с IT - начиная с кода и заканчивая терминологией людям удобнее не переводить. Но некоторые упираются ))
"Хартия переводчиков гласит, что перевод в современном мире должен служить сближению народов. А вы своим лепетом... только разобщаете" @Бузыкин.