files/en-us/web/api/xrlightestimate/primarylightdirection/index.md
{{APIRef("WebXR Device API")}}{{SeeCompatTable}}{{SecureContext_Header}}
The read-only primaryLightDirection property of the {{DOMxRef("XRLightEstimate")}} interface returns a {{domxref("DOMPointReadOnly")}} representing the direction to the primary light source from the probeSpace of an {{domxref("XRLightProbe")}}.
A {{domxref("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.
Within an {{domxref("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}}
{{Compat}}