XRSession: requestLightProbe() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
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) orrgba16f
. See alsoXRSession.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
DOMException
-
Thrown if
lighting-estimation
is not an enabled feature inXRSystem.requestSession()
or if thereflectionFormat
is notsrgb8
or thepreferredReflectionFormat
. InvalidStateError
DOMException
-
Thrown 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 # dom-xrsession-requestlightprobe |
Browser compatibility
BCD tables only load in the browser