/Web APIs

XRWebGLBinding: getReflectionCubeMap() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getReflectionCubeMap() method of the XRWebGLBinding interface returns a WebGLTexture object containing a reflection cube map texture.

The texture format is specified by the session's reflectionFormat. See the options parameter on XRSession.requestLightProbe() and XRSession.preferredReflectionFormat for more details. By default, the srgba8 format is used. When using a rgba16f format, you need to be within a WebGL 2.0 context or enable the OES_texture_half_float extension within WebGL 1.0 contexts.





An XRLightProbe object returned by calling XRSession.requestLightProbe().

Return value

A WebGLTexture object.


You typically call getReflectionCubeMap() whenever the reflectionchange event fires on a light probe to retrieve an updated cube map. This is less expensive than retrieving lighting information with every XRFrame.

If the rgba16f format is used, enable the OES_texture_half_float extension within WebGL 1.0 contexts.

const glBinding = new XRWebGLBinding(xrSession, gl);
gl.getExtension('OES_texture_half_float'); // if rgba16f is the preferredReflectionFormat

xrSession.requestLightProbe().then((lightProbe) => {
  lightProbe.addEventListener('reflectionchange', () => {


Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
getReflectionCubeMap 90 90 No No 76 No No 90 No 64 No 15.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.