@voluma/vlam
v0.3.2
Published
VLAM! - A lightweight WebGPU Gaussian splat viewer for three.js, built for high performance, streaming LOD, and fully customizable rendering through an open shader pipeline.
Maintainers
Readme
VLAM!
A WebGPU Gaussian Splat viewer for three.js.
Docs and demo: https://vlam.voluma.ai · get started · guides
Local site and generated API: npm run dev (http://localhost:5170, viewer at /demo/).
Important notice!
This is a pre-release not yet recommended for production. The API can still change in breaking ways before v1.0.
Install
npm install @voluma/vlam threethree is a peer dependency (>= 0.185.0).
Usage
import * as THREE from 'three/webgpu';
import { SplatMesh, createSplatRenderer } from '@voluma/vlam';
import { loadSplatData } from '@voluma/vlam/loaders';
const renderer = await createSplatRenderer();
renderer.setSize(innerWidth, innerHeight);
document.body.appendChild(renderer.domElement);
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.01, 100);
camera.position.set(1, 0.5, 1.4);
camera.lookAt(0, 0, 0);
const splats = new SplatMesh(await loadSplatData('/scene.sog'));
scene.add(splats);
renderer.setAnimationLoop(() => {
splats.update(camera, renderer);
renderer.render(scene, camera);
});Supported formats: .sog, .ply, .spz, .splat, .ksplat, .lcc, .lcc2, .rad, .radc.
Contributing
See CONTRIBUTING.md and docs/architecture.md. By participating you agree to the Code of Conduct. Security reports: see SECURITY.md.
License
MIT. Third-party notices: THIRD_PARTY_NOTICES.md.
Made in the EU by Voluma.
