dom / latest / xrwebglbinding / getreflectioncubemap.html /

XRWebGLBinding.getReflectionCubeMap()

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.

Syntax

getReflectionCubeMap(lightProbe)

Parameters

lightProbe

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

Return value

A WebGLTexture object.

Examples

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(function (lightProbe) {
  lightProbe.addEventListener('reflectionchange', () => {
    glBinding.getReflectionCubeMap(lightProbe);
  });
});

Specifications

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–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRWebGLBinding/getReflectionCubeMap