XRWebGLBinding: getReflectionCubeMap() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die getReflectionCubeMap() Methode der XRWebGLBinding Schnittstelle gibt ein WebGLTexture Objekt zurück, das eine Reflection-Cube-Map-Textur enthält.

Das Texturformat wird durch das reflectionFormat der Session spezifiziert. Weitere Details finden Sie im options Parameter von XRSession.requestLightProbe() und XRSession.preferredReflectionFormat. Standardmäßig wird das srgba8-Format verwendet. Bei Verwendung des rgba16f Formats müssen Sie sich in einem WebGL 2.0 Kontext befinden oder die OES_texture_half_float Erweiterung innerhalb von WebGL 1.0 Kontexten aktivieren.

Syntax

js
getReflectionCubeMap(lightProbe)

Parameter

lightProbe

Ein XRLightProbe Objekt, das durch den Aufruf von XRSession.requestLightProbe() zurückgegeben wird.

Rückgabewert

Ein WebGLTexture Objekt.

Beispiele

Sie rufen getReflectionCubeMap() typischerweise immer dann auf, wenn das reflectionchange Ereignis bei einer Lichtsonde ausgelöst wird, um eine aktualisierte Cube-Map abzurufen. Dies ist weniger aufwendig, als Beleuchtungsinformationen bei jedem XRFrame abzurufen.

Wenn das rgba16f Format verwendet wird, aktivieren Sie die OES_texture_half_float Erweiterung innerhalb von WebGL 1.0 Kontexten.

js
const glBinding = new XRWebGLBinding(xrSession, gl);
gl.getExtension("OES_texture_half_float"); // if rgba16f is the preferredReflectionFormat

xrSession.requestLightProbe().then((lightProbe) => {
  lightProbe.addEventListener("reflectionchange", () => {
    glBinding.getReflectionCubeMap(lightProbe);
  });
});

Spezifikationen

Specification
WebXR Lighting Estimation API Level 1
# dom-xrwebglbinding-getreflectioncubemap

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch