
Michael Rubloff
Jan 27, 2026
The author behind the early Vulkan based renderer vkgs has released a new repository called SplatStream, and represents a fairly significant maturation of that original work.
Developed by Jaesung Park, SplatStream is positioned as a clean, modular rethinking of vkgs rather than a simple continuation. Where vkgs was a tightly coupled C++ experiment aimed at proving that pure Vulkan Gaussian splatting was viable, SplatStream reframes that effort as a production oriented rendering library with Python bindings, clearer separation of concerns, and a much more approachable interface for downstream users.
There is no CUDA dependency, no PyTorch integration, and no attempt to blur the line between training and rendering. This is a renderer, and only a renderer. The focus is on taking pre-trained Gaussian splats and pushing them through a highly optimized GPU pipeline that emphasizes predictable performance, careful memory management, and cross platform support. Windows, Linux, and even macOS on Apple Silicon are all included.
On canonical datasets like bicycle and garden, SplatStream consistently outpaces gsplat’s off screen renderer while maintaining comparable PSNR. The gains are not coming from algorithmic shortcuts, but from low level decisions like an aggressive reuse of GPU resources, double buffering across compute, graphics, and transfer queues, and a deliberate bias toward memory access patterns that favor sequential reads over random access.
Architecturally, the project is split into clean layers. A vkgs-style API wrapper hides Vulkan details from higher level code, a core module handles the actual splat rendering and sorting logic, and a viewer module manages windowing, input, and UI via GLFW and ImGui. Splatstream also has a python API similar to the gsplat renderer, allowing many users to launch the interactive viewer by making only minimal changes where gsplat rendering calls previously lived.
Splats can be loaded from standard .ply files or constructed from NumPy arrays, rendered interactively in a viewer, or drawn into image buffers for offline use. There are, of course, clear limitations. SplatStream does not compute gradients, does not train models, and does not attempt to integrate into learning frameworks. Rendered images may differ slightly from gsplat due to culling behavior, and advanced camera models are out of scope.
More information can be found from the SplatStream GitHub repo, where it comes with an MIT License.






