This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The XRWebGLBinding interface is used to create layers that have a GPU backend.
XRWebGLBinding() Experimental
Creates a new XRWebGLBinding object for the specified XR session and WebGL rendering context.
XRWebGLBinding.nativeProjectionScaleFactor Read only Experimental
The scaleFactor that was passed in during the construction of the projection layer. The native buffer size is scaled by this number.
XRWebGLBinding.createCubeLayer() Experimental
Returns an XRCubeLayer object, which is a layer that renders directly from a cubemap, and projects it onto the inside faces of a cube.
XRWebGLBinding.createCylinderLayer() Experimental
Returns an XRCylinderLayer object which is a layer that takes up a curved rectangular space in the virtual environment.
XRWebGLBinding.createEquirectLayer() Experimental
Returns an XREquirectLayer object which is a layer that maps equirectangular coded data onto the inside of a sphere.
XRWebGLBinding.createProjectionLayer() Experimental
Returns an XRProjectionLayer object which is a layer that fills the entire view of the observer and is refreshed close to the device's native frame rate.
XRWebGLBinding.createQuadLayer() Experimental
Returns an XRQuadLayer object which is a two-dimensional object positioned and oriented in 3D space.
XRWebGLBinding.getDepthInformation() Experimental
Returns an XRWebGLDepthInformation object containing WebGL depth information.
XRWebGLBinding.getReflectionCubeMap() Experimental
Returns a WebGLTexture object containing a reflection cube map texture.
XRWebGLBinding.getSubImage() Experimental
Returns an XRWebGLSubImage object representing the WebGL texture to render.
XRWebGLBinding.getViewSubImage() Experimental
Returns an XRWebGLSubImage object representing the WebGL texture to render for an XRView.
| Specification |
|---|
| WebXR Layers API Level 1> # XRWebGLBindingtype> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
XRWebGLBinding |
89 | 89 | No | 75 | No | 89 | No | 63 | No | 15.0 | 89 | No |
XRWebGLBinding |
89 | 89 | No | 75 | No | 89 | No | 63 | No | 15.0 | 89 | No |
createCubeLayer |
No | No | No | No | No | No | No | No | No | No | No | No |
createCylinderLayer |
No | No | No | No | No | No | No | No | No | No | No | No |
createEquirectLayer |
No | No | No | No | No | No | No | No | No | No | No | No |
createProjectionLayer |
No | No | No | No | No | No | No | No | No | No | No | No |
createQuadLayer |
No | No | No | No | No | No | No | No | No | No | No | No |
getCameraImage |
107 | 107 | No | 93 | No | 107 | No | 73 | No | 21.0 | No | No |
getDepthInformation |
90 | 90 | No | 76 | No | 90 | No | 64 | No | 15.0 | No | No |
getReflectionCubeMap |
90 | 90 | No | 76 | No | 90 | No | 64 | No | 15.0 | No | No |
getSubImage |
No | No | No | No | No | No | No | No | No | No | No | No |
getViewSubImage |
No | No | No | No | No | No | No | No | No | No | No | No |
nativeProjectionScaleFactor |
No | No | No | No | No | No | No | No | No | No | No | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRWebGLBinding