The XRLightEstimate
interface of the WebXR Device API provides the estimated lighting values for an XRLightProbe
at the time represented by an XRFrame
.
To get an XRLightEstimate
object, call the XRFrame.getLightEstimate()
method.
Instance properties
XRLightEstimate.primaryLightDirection
Read only Experimental
-
A DOMPointReadOnly
representing the direction to the primary light source from the probeSpace
of an XRLightProbe
.
XRLightEstimate.primaryLightIntensity
Read only Experimental
-
A DOMPointReadOnly
(with the x
, y
, z
values mapped to RGB) representing the intensity of the primary light source from the probeSpace
of an XRLightProbe
.
XRLightEstimate.sphericalHarmonicsCoefficients
Read only Experimental
-
A Float32Array
containing 9 spherical harmonics coefficients.
Instance methods
Examples
Getting an XRLightProbe
object
First, use the XRSession.requestLightProbe()
method to get a light probe from a session. Then, within an XRFrame
loop, the getLightEstimate()
method will return a XRLightEstimate
object containing the lighting values for each frame.
const lightProbe = await xrSession.requestLightProbe();
function onXRFrame(time, xrFrame) {
let lightEstimate = xrFrame.getLightEstimate(lightProbe);
lightEstimate.sphericalHarmonicsCoefficients;
lightEstimate.primaryLightDirection;
lightEstimate.primaryLightIntensity;
}
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
XRLightEstimate |
90 |
90 |
No |
No |
76 |
No |
No |
90 |
No |
64 |
No |
15.0 |
primaryLightDirection |
90 |
90 |
No |
No |
76 |
No |
No |
90 |
No |
64 |
No |
15.0 |
primaryLightIntensity |
90 |
90 |
No |
No |
76 |
No |
No |
90 |
No |
64 |
No |
15.0 |
sphericalHarmonicsCoefficients |
90 |
90 |
No |
No |
76 |
No |
No |
90 |
No |
64 |
No |
15.0 |
See also