Skip to main content

Camera Color

In AR, the rendered image is projected over the reconstructed camera texture on the pass-through device types. This texture can be accessed by the application.

To request access to the camera color, the session should be started with an extra flag:

app.xr.start(camera, pc.XRTYPE_AR, pc.XRSPACE_LOCALFLOOR, {
cameraColor: true
});

Support

You can check if the camera color is supported by the system:

if (app.xr.views.supportedColor) {
// camera color access is supported
}

app.xr.on('start', () => {
if (app.xr.views.availableColor) {
// camera color texture is available
}
});

Texture

WebXR can work on monoscopic as well as stereoscopic devices. This means there is a list of Views that represent either a screen (monoscopic device) or an eye (stereoscopic device).

Bear in mind that Views are not available on session start, and can be created/removed during the session's lifetime.

For a monoscopic device, we can access its view and its texture:

app.xr.on('start', () => {
app.xr.views.on('add', (view) => {
if (view.eye === pc.XREYE_NONE) { // monoscopic view
if (view.textureColor) {
// camera color texture is available
}
}
});
});