XRLightEstimate: sphericalHarmonicsCoefficients 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 sphericalHarmonicsCoefficients
property of the XRLightEstimate
interface returns a Float32Array
containing 9 spherical harmonics coefficients.
Spherical harmonic lighting is a technique that uses spherical functions instead of standard lighting equations. See Wikipedia for more information.
Value
A Float32Array
containing 9 spherical harmonics coefficients. The array contains 27 elements in total, with every 3 elements defining red, green, and blue components for each coefficient.
The first 3 elements must be a valid lighting estimate component; the rest may be 0 due to privacy settings or limitations of the device to provide more data.
Examples
Within an XRFrame
loop, you can use the sphericalHarmonicsCoefficients
property to light the scene.
const lightProbe = await xrSession.requestLightProbe();
// frame loop
function onXRFrame(time, xrFrame) {
let lightEstimate = xrFrame.getLightEstimate(lightProbe);
// Render lights using lightEstimate.sphericalHarmonicsCoefficients
}
Specifications
Specification |
---|
WebXR Lighting Estimation API Level 1 # dom-xrlightestimate-sphericalharmonicscoefficients |
Browser compatibility
BCD tables only load in the browser