XRLightEstimate: primaryLightDirection property
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 read-only primaryLightDirection
property of the XRLightEstimate
interface returns a DOMPointReadOnly
representing the direction to the primary light source from the probeSpace
of an XRLightProbe
.
Value
A DOMPointReadOnly
object. If no estimated values from the user's environment are available, the point will be { x: 0.0, y: 1.0, z: 0.0, w: 0.0 }
, representing a light shining straight down from above.
Examples
Within an XRFrame
loop, you can use the primaryLightDirection
and primaryLightIntensity
properties
to render shadows based on the most prominent light source, for example.
const lightProbe = await xrSession.requestLightProbe();
// frame loop
function onXRFrame(time, xrFrame) {
let lightEstimate = xrFrame.getLightEstimate(lightProbe);
// Render lights
// Available properties
lightEstimate.primaryLightDirection;
lightEstimate.primaryLightIntensity;
}
Specifications
Specification |
---|
WebXR Lighting Estimation API Level 1 # dom-xrlightestimate-primarylightdirection |
Browser compatibility
BCD tables only load in the browser