XRWebGLLayer: XRWebGLLayer() Konstruktor
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.
Der WebXR Device API XRWebGLLayer() Konstruktor erstellt und
gibt ein neues XRWebGLLayer-Objekt zurück, das die Verbindung zwischen dem
WebXR-Gerät und der WebGL-Grafikebene bereitstellt, die zur Darstellung der 3D-Szene verwendet wird.
Syntax
new XRWebGLLayer(session, context)
new XRWebGLLayer(session, context, options)
Parameter
session-
Ein
XRSession-Objekt, das die WebXR-Sitzung angibt, die mit dem WebGL-Kontext gerendert wird. context-
Ein
WebGLRenderingContextoderWebGL2RenderingContext, der den WebGL-Zeichnungskontext identifiziert, der zum Rendern der Szene für die angegebene WebXR-Sitzung verwendet wird. optionsOptional-
Ein Objekt, das Konfigurationsoptionen für das neue
XRWebGLLayerbereitstellt. Die verfügbaren Optionen sind:alpha-
Der Farb-Puffer des Framebuffers wird mit einem Alphakanal eingerichtet, wenn die
alpha-Boolean-Eigenschafttrueist. Andernfalls hat der Farbpuffer keinen Alphakanal. Der Standardwert isttrue. antialias-
Ein Boolean-Wert, der
trueist, wenn Anti-Aliasing beim Rendern im Kontext verwendet werden soll; andernfallsfalse. Der Browser wählt die zu verwendende Anti-Aliasing-Methode; es gibt derzeit keine Unterstützung, um einen bestimmten Modus anzufordern. Der Standardwert isttrue. depth-
Ein Boolean-Wert, der, wenn
true, verlangt, dass die neue Ebene einen Tiefenpuffer hat; andernfalls wird keine Tiefenschicht zugewiesen. Der Standardwert isttrue. framebufferScaleFactor-
Ein Gleitkommawert, der verwendet wird, um das Bild während des Komponierens zu skalieren. Ein Wert von 1,0 repräsentiert die Standard-Pixelgröße für den Framebuffer. Die statische
XRWebGLLayer-FunktionXRWebGLLayer.getNativeFramebufferScaleFactor()gibt die Skala zurück, die zu einem 1:1-Pixelverhältnis führen würde und dadurch sicherstellt, dass das Rendering in der nativen Auflösung des Geräts erfolgt. Der Standardwert ist 1,0. ignoreDepthValues-
Ein Boolean-Wert, der angibt, ob der Inhalt des Tiefenpuffers beim Komponieren der Szene ignoriert werden soll oder nicht. Der Standardwert ist
false. stencil-
Ein Boolean-Wert, der, wenn
true, verlangt, dass die neue Ebene einen Schablonenpuffer beinhaltet. Andernfalls wird kein Schablonenpuffer zugewiesen. Der Standardwert istfalse.
Rückgabewert
Ein neu erstelltes XRWebGLLayer, das die angegebene
XRSession mit dem durch context angegebenen WebGL-Kontext verknüpft, der
als Renderer für die Sitzung verwendet wird. Alle in layerInit angegebenen Optionen
werden verwendet, um die Konfiguration des Renderingsystems anzupassen.
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn das neue
XRWebGLLayeraufgrund eines von mehreren möglichen Zustandsfehlern nicht erstellt werden konnte:- Die durch
sessionangegebeneXRSessionwurde bereits gestoppt. - Der angegebene WebGL-Kontext,
context, ist verloren gegangen aus irgendeinem Grund, wie z.B. einem GPU-Wechsel oder -Reset. - Die angegebene
sessionist immersiv, aber dercontextist nicht WebXR-kompatibel.
- Die durch
OperationErrorDOMException-
Wird ausgelöst, wenn die Ressourcen (einschließlich Speicherpuffer), die für den Betrieb der Ebene erforderlich sind, nicht zugewiesen werden konnten.
Beispiele
In diesem Beispiel wird ein neues XRWebGLLayer für eine WebXR-Sitzung,
xrSession, erstellt.
xrSession.updateRenderState({
baseLayer: new XRWebGLLayer(xrSession, gl, {
alpha: false,
antialias: false,
depth: false,
framebufferScaleFactor: 0.5,
ignoreDepthValues: true,
stencil: false,
}),
});
Spezifikationen
| Specification |
|---|
| WebXR Device API> # dom-xrwebgllayer-xrwebgllayer> |
Browser-Kompatibilität
Siehe auch
- WebXR Device API
- Einführung in WebGL
- Umgang mit verlorenem Kontext in WebGL: Khronos WebGL Wiki