XRView: requestViewportScale()-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.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die requestViewportScale()
-Methode der XRView
-Schnittstelle fordert, dass der Benutzeragent den angeforderten Viewport-Skalierungsfaktor für diesen Viewport auf den angegebenen Wert setzt. Dies wird für dynamische Viewport-Skalierungen verwendet, die es ermöglichen, in einem Teilbereich des WebXR-Viewports mit einem Skalierungsfaktor zu rendern, der in jedem Animationsrahmen geändert werden kann.
Syntax
requestViewportScale(scale)
Parameter
scale
-
Eine Zahl größer als 0,0 und kleiner oder gleich 1,0, die den Skalierungsfaktor darstellt.
Rückgabewert
Keiner (undefined
).
Dynamische Viewport-Skalierung
Dynamische Viewport-Skalierung ermöglicht es Anwendungen, nur einen Teil des verfügbaren framebuffer
zu verwenden. Die Funktion ist möglicherweise nicht auf allen Systemen verfügbar, da sie von der Treiberunterstützung abhängt. Daher sollten Sie sicherstellen, dass requestViewportScale()
existiert, bevor Sie es aufrufen.
Der scale
-Parameter kann eine Zahl größer als 0,0 und kleiner oder gleich 1,0 sein.
Alternativ können Sie die XRView.recommendedViewportScale
-Eigenschaft verwenden, die den vom Benutzeragenten empfohlenen Wert basierend auf internen Heuristiken enthält. Wenn der Benutzeragent keinen empfohlenen Viewport-Skalierungsfaktor bereitstellt, ist sein Wert null
und der Aufruf von requestViewportScale()
wird ignoriert.
Beispiele
Das folgende Beispiel zeigt, wie Sie eine neue Viewport-Skalierung anfordern und anwenden können. Der Aufruf von XRWebGLLayer.getViewport()
wendet die Änderung an und gibt den aktualisierten Viewport zurück.
for (const view of pose.views) {
if (view.requestViewportScale) {
view.requestViewportScale(0.8);
// or use view.requestViewportScale(view.recommendedViewportScale);
}
const viewport = glLayer.getViewport(view);
}
Spezifikationen
Specification |
---|
WebXR Device API # dom-xrview-requestviewportscale |
Browser-Kompatibilität
BCD tables only load in the browser