XRWebGLBinding: getReflectionCubeMap() method - Web APIs | MDN (original) (raw)
Limited availability
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.
Syntax
getReflectionCubeMap(lightProbe)
Parameters
Return value
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((lightProbe) => {
lightProbe.addEventListener("reflectionchange", () => {
glBinding.getReflectionCubeMap(lightProbe);
});
});
Specifications
Specification |
---|
WebXR Lighting Estimation API Level 1 # dom-xrwebglbinding-getreflectioncubemap |