Hi All,
Some time ago, I created a "threejs helper" plugin that used threejs for rendering .obj/.glb and also splats (Import Gaussian splat using three.js). Trouble back then was that sharing the threejs canvas with the krpano canvas was not yet possible. With the latest krpano, that has changed and with the help of the open source threejs plugin, I made a new version of the threejs helper (altough the canvas still is not shared as spark needs full control over it)
To increase the functionality, we have included SparkJS to perform rendering of gaussians splats. Its not much yet, but I wanted to see if there is any interest in productising a plugin.
The idea is to have gaussians plats as hotspots using threejs/spark as the renderer.
The plugin is designed for hybrid rendering where krpano handles navigation and UI, and Three.js/Spark handle the 3D visual content.
- render splats, Three.js image planes, and GLTF-style 3D objects as hotspots in the scene when they need shared depth
- use krpano layers for UI and overlays
For example, splats are defined as hotspots:
<hotspot name="splat_1"
type="splat"
url="splat.ply"
tx="0" ty="0" tz="0"
rx="0" ry="0" rz="0"
scale="1"
visible="true" />
Current iteration has:
* loading multiple splats in a scene using <hotspot ... > with most of krpanos event handlers, positioning/rotation, visibility, hittesting, etc...
* as the plugin is using spark, we can load all formats supported by spark (ply, .spz, .sog, .splat, .ksplat, .rad, and .zip), all in SH3
* we can use spark LoD, and set the lod parameters (quality, streaming)
* also supports loading of image planes (didnt need .obj/.gltf/.lights yet, but coming soon)
* krpano Layers remain available: The plugin renders the Three.js/Spark scene in a canvas layered with krpano. krpano remains available for: layers, UI controls, navigation, debug console, hotspots outside the Three.js-rendered content, XML actions, tour scene management
A small demo: https://krpano.kri-soft.be/spark/
(which is a remake with krpano actions of https://sparkjs.dev/examples/#multiple-splats - other examples will follow as well)
Let me know your thoughts and feel free to reach out if you have any questions. Most of you have my contact details :)