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, bevor Sie diese produktiv verwenden.

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

BCD tables only load in the browser

Siehe auch