An experimental voxel engine for WebGL. This software has been created in the context of a Master's degree project at the University of Applied Sciences Brandenburg in cooperation with the Norwegian University of Technology and Science.
Demo · Documentation · Master's Thesis (2016) · Electronic Imaging Paper (2018)
This library requires the peer dependency three.
npm install three rabbit-hole
The following example uses the rendering framework three.
Please refer to the usage example of three
for information
on how to setup the renderer, scene and camera.
import { Terrain } from "rabbit-hole";
const terrain = new Terrain();
scene.add(terrain);
requestAnimationFrame(function render() {
requestAnimationFrame(render);
terrain.update(camera);
renderer.render(scene, camera);
});
import { SuperPrimitive, SuperPrimitivePreset } from "rabbit-hole";
const a = SuperPrimitive.create(SuperPrimitivePreset.SPHERE);
const b = SuperPrimitive.create(SuperPrimitivePreset.TORUS);
const c = SuperPrimitive.create(SuperPrimitivePreset.CUBE);
terrain.union(a);
terrain.subtract(b.intersect(c).subtract(a));
terrain.intersect(c.subtract(a.union(b)));
- Multithreading
- Level of Detail
- Real-time volume construction and destruction
Please refer to the contribution guidelines for details.