XRLightProbe: reflectionchange event

The WebXR reflectionchange event is passed to an XRLightProbe each time the estimated reflection cube map changes. This happens in response to use movements through different lighting conditions or to direct changes to lighting itself.

Cancelable No
Interface Event
Event handler property onreflectionchange


Whenever the reflectionchange event fires on a light probe, you can retrieve an updated cube map by calling XRWebGLBinding.getReflectionCubeMap(). This is less expensive than retrieving lighting information with every XRFrame.

const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);

lightProbe.addEventListener('reflectionchange', () => {
  glCubeMap = glBinding.getReflectionCubeMap(lightProbe);


WebXR Lighting Estimation API Level 1 (WebXR Lighting Estimation API 1)
# eventdef-xrlightprobe-reflectionchange

Browser compatibility

BCD tables only load in the browser

See also