XRSession.requestLightProbe()

The requestLightProbe() method of the XRSession interface returns a Promise that resolves with an XRLightProbe object that estimates lighting information at a given point in the user's environment.

Syntax

requestLightProbe()
requestLightProbe(options)

Parameters

options Optional

An object containing configuration options, specifically:

  • reflectionFormat: The internal reflection format indicating how the texture data is represented, either srgba8 (default value) or rgba16f. See also XRSession.preferredReflectionFormat.

Return value

A Promise that resolves with an XRLightProbe object.

Exceptions

Rather than throwing true exceptions, requestLightProbe() rejects the returned promise with a DOMException, specifically, one of the following:

  • NotSupportedError
    • : If lighting-estimation is not an enabled feature in XRSystem.requestSession().
    • : If the reflectionFormat is not srgb8 or the preferredReflectionFormat.
  • InvalidStateError
    • : If the session has already ended.

Examples

Requesting a light probe with the system's preferred format

The default format is srgb8, however, some rendering engines may use other (high dynamic range) formats. You can request the light probe with XRSession.preferredReflectionFormat which reports the preferred internal format.

const lightProbe = await xrSession.requestLightProbe({
  reflectionFormat: xrSession.preferredReflectionFormat
});

Specifications

Specification
WebXR Lighting Estimation API Level 1 (WebXR Lighting Estimation API 1)
# dom-xrsession-requestlightprobe

Browser compatibility

BCD tables only load in the browser

See also