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 vor der Verwendung auf produktiven Webseiten.
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
getReflectionCubeMap(lightProbe)
Parameter
lightProbe
-
Ein
XRLightProbe
Objekt, das durch den Aufruf vonXRSession.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.
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