XRWebGLBinding()

The XRWebGLBinding() constructor creates and returns a new XRWebGLBinding object.

Syntax

new XRWebGLBinding(session, context)

Parameters

session

An XRSession object specifying the WebXR session which will be rendered using the WebGL context.

context

A WebGLRenderingContext or WebGL2RenderingContext identifying the WebGL drawing context to use for rendering the scene for the specified WebXR session.

Return value

A newly-created XRWebGLBinding.

Exceptions

InvalidStateError

The new XRWebGLBinding could not be created due to one of a number of possible state errors:

  • The XRSession specified by session has already been stopped.
  • The specified WebGL context, context, has been lost for any reason, such as a GPU switch or reset.
  • The specified session is immersive but the context is not WebXR compatible.

Example

const canvasElement = document.querySelector(".output-canvas");
const gl = canvasElement.getContext("webgl");
const xrSession = await navigator.xr.requestSession("immersive-vr");
await gl.makeXRCompatible();

const glBinding = new XRWebGLBinding(xrSession, gl);

Specifications

Specification
WebXR Layers API Level 1 (WebXR Layers API 1)
# dom-xrwebglbinding-xrwebglbinding

Browser compatibility

BCD tables only load in the browser

See also