In production

xeogl is running in production as the 3D engine within BIMSurfer, the open source
tool
for Web-based visualization and evaluation of Building Information Models (BIM).

BIMSurfer
is
used within a variety of apps, so it's effectively battle-testing xeogl with large models
on a variety of operating systems and hardware.

Scene definition

Scene definition is extremely easy, with xeogl providing defaults for pretty much everything,
making it really easy to learn. If you get stuck, it's got a really thorough set of API docs and examples, plus a
wiki with tutorials.

Then using the JavaScript API, define your 3D scene as an entity-component graph, as shown
below. Note how a scene is
basically a bunch of components that are
tied
together by entities. In this example xeogl is quietly providing
lots of
default components for us, but we can override those with our own when we need more control.

Importing models

Got a model you want to quickly view in the browser? Use some of xeogl's higher-level
components,
which are built on the components we just saw in the previous example. Let's load a glTF
model of a gearbox:

// Load a glTF model into the scene
var model = new xeogl.GLTFModel({
src: "models/gltf/gearbox/gearbox_assy.gltf"
});
// Fit the model in view as soon as it's loaded
model.on("loaded", function() {
var cameraFlight = new xeogl.CameraFlight());
cameraFlight.flyTo(model);
});
// Use a BIM-style camera control to navigate
// the model with the mouse and keyboard
var cameraControl = new xeogl.BIMCameraControl();

Viewing effects

Want to view your model in stereo? Just drop in a component to activate the desired effect.
Let's
view our model with simple split-screen stereo: