title | short-title | slug | page-type | status | browser-compat | |
---|---|---|---|---|---|---|
XRSession: requestLightProbe() method |
requestLightProbe() |
Web/API/XRSession/requestLightProbe |
web-api-instance-method |
|
api.XRSession.requestLightProbe |
{{APIRef("WebXR Device API")}}{{SeeCompatTable}}{{SecureContext_Header}}
The requestLightProbe()
method of the
{{domxref("XRSession")}} interface returns a {{jsxref("Promise")}} that resolves with an {{domxref("XRLightProbe")}} object that estimates lighting information at a given point in the user's environment.
requestLightProbe()
requestLightProbe(options)
options
{{Optional_Inline}}- : An object containing configuration options, specifically:
reflectionFormat
- : The internal reflection format indicating how the texture data is represented, either
srgba8
(default value) orrgba16f
. See also {{domxref("XRSession.preferredReflectionFormat")}}.
- : The internal reflection format indicating how the texture data is represented, either
- : An object containing configuration options, specifically:
A {{jsxref("Promise")}} that resolves with an {{domxref("XRLightProbe")}} object.
Rather than throwing true exceptions, requestLightProbe()
rejects the
returned promise with a {{domxref("DOMException")}}, specifically, one of the following:
NotSupportedError
{{domxref("DOMException")}}- : Thrown if
lighting-estimation
is not an enabled feature in {{domxref("XRSystem.requestSession()")}} or if thereflectionFormat
is notsrgb8
or thepreferredReflectionFormat
.
- : Thrown if
InvalidStateError
{{domxref("DOMException")}}- : Thrown if the session has already ended.
The default format is srgb8
, however, some rendering engines may use other (high dynamic range) formats. You can request the light probe with {{domxref("XRSession.preferredReflectionFormat")}} which reports the preferred internal format.
const lightProbe = await xrSession.requestLightProbe({
reflectionFormat: xrSession.preferredReflectionFormat,
});
{{Specifications}}
{{Compat}}
- {{domxref("XRSession.preferredReflectionFormat")}}