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 Foveation1/3
: niedrige Foveation2/3
: mittlere Foveation1.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
.
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