- Official Post
Hello,
here is krpano 1.23, the first version with 3D Gaussian Splatting support.
It is now possible to use 3D Gaussian Splat models directly inside the krpano viewer.
To make this possible, krpano introduces its own custom Gaussian Splatting rendering engine, which includes several special and unique features.
A bit of background:
When I first tested various 3D Gaussian Splatting tools, I quickly noticed strange artifacts when increasing the field of view, especially on large splats. That was a bit shocking - and felt both unacceptable and limiting for the actual usability of Gaussian Splats.
After some analysis, study, and experimentation, I found a surprisingly simple and still high-performing solution:
Instead of using the common Jacobian projection to transform splats from 3D to 2D, I implemented an alternative perspective projection approach. It's still also only an approximation, but significantly more accurate than typical rendering methods.
Thanks to this new rendering mode, wider fields of view became possible, and the whole splat rendering became much more stable – especially during typical pano-viewer-style panning.
And as a bonus, it even allows using the krpano fisheye distortion features, enabling things like interactive little planet views.
Here are some comparison images:


Examples
Here is an interactive example – you can also drop your own splat files into it for quick testing:
The example includes also a small helper tools (the splattools.xml) for playing the with the splat rendering settings, for adjusting the splat model setting (scale, position, rotation), for adjusting the controls and tools for creating screenshots and custom viewpoints for animated camera paths.
There are several visualization modes available that can help to analyzing and better understanding the actual structure of a model, for example, by making floaters more visible or revealing very transparent splats (often located outside the main structure). Or to see how much pixels gets overdrawn (can be important for mobile and VR performance). This can be helpful for optimizing or cleaning up a model if needed.
Supported File Formats
krpano currently supports the following input formats:
- the .splat format from antimatter15 (Kevin Kwok)
- the original .ply format (usually too large for web usage)
- the .compressed.ply format from SuperSplat, requiring only ~50% of the .splat file size
The loading of these formats is also very optimized. I was trying to use as little memory as possible. The splats are as directly as possible transferred from streaming into GPU memory with minimal usage of CPU memory. This improves performance and increases stability, especially on mobile devices – enabling fast and instant loading without long waiting times.
Comparison
Here is also a nice demonstration of the advantages of 3D Gaussian Splats – a comparison between a splat-based 3D model and a traditional photogrammetry 3D model:
Effects
And for the very creative ones: krpano allows the use of GLSL shader code to interactively modify the splats in real time during rendering. This can be used for all kinds of effects – such as intro-style unveil animations, lighting and color adjustments, or transform-based effects.
See this example for details:
Overall, Gaussian Splatting feels a bit like the early days of 360x180 panoramas - an exciting and evolving technology with already impressive results and huge potential for future improvements, such as better training tools, LOD rendering and loading, improved compression methods, and even alternative rendering approaches (e.g. 2DGS, Triangle Splatting, Gaussian Billboards, and many more).
And I'm already working on many ideas for future releases!
What's else new in krpano 1.23
- Improved 3D Controls
- Improved Depthmap / 3D-Model Support
- Hotspot Rendering Filters
- Easily Colorize Hotspots
- Render hotspots that are behind a 3D-Model automatically in different color
- Many API Improvements and Extensions
- All details here in the Release Notes
Have fun with the new version!
Best regards,
Klaus