XRWebGLLayer: Eigenschaft fixedFoveation

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.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die fixedFoveation-Eigenschaft der XRWebGLLayer-Schnittstelle ist eine Zahl, die die Menge der Foveation angibt, die vom XR-Composer verwendet wird. Fixed Foveated Rendering (FFR) rendert die Ränder der Augentexturen in einer niedrigeren Auflösung als das Zentrum und reduziert die GPU-Belastung.

Es ist am nützlichsten für Texturen mit geringem Kontrast, wie z.B. Hintergrundbilder, weniger jedoch für solche mit hohem Kontrast wie Text oder detaillierte Bilder. Autoren können das Niveau pro Frame anpassen, um das beste Gleichgewicht zwischen Leistung und visueller Qualität zu erreichen.

Wert

Eine Zahl zwischen 0 und 1.

  • Die minimale Menge an Foveation wird durch 0 angegeben (volle Auflösung).
  • Die maximale Menge an Foveation wird durch 1 angegeben (die Ränder werden in niedrigerer Auflösung gerendert).

Es liegt am Benutzeragenten, wie diese Zahlen interpretiert werden. Wenn das Foveationsniveau geändert wird, wird der Effekt im nächsten XRFrame sichtbar.

Beachten Sie, dass einige Benutzeragenten möglicherweise nur bestimmte Foveationsstufen implementieren, sodass Sie das Foveationsniveau in größeren Schritten anpassen müssen, um einen Effekt zu sehen. Beispielniveaus:

  • 0: keine Foveation
  • 1/3: niedrige Foveation
  • 2/3: mittlere Foveation
  • 1.0: maximale Foveation

Einige Geräte unterstützen kein foveiertes Rendering. In diesem Fall ist fixedFoveation null und eine Einstellung hat keine Wirkung.

Beispiele

Dynamisches Setzen des Foveation-Levels beim Rendering

Die fixedFoveation-Eigenschaft ermöglicht es Ihnen, das Foveationsniveau zur Laufzeit und für jeden Frame festzulegen. Um die maximale Foveation für eine gegebene XRWebGLLayer festzulegen, verwenden Sie einen Wert von 1.

js
let glLayer = xrSession.renderState.baseLayer;
glLayer.fixedFoveation = 1; // maximum foveation

Spezifikationen

Specification
WebXR Device API
# dom-xrwebgllayer-fixedfoveation

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
fixedFoveation
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

Siehe auch