[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/API/WebGL_API/Using_Extensions [Back]  [Original]

Verwenden von WebGL-Erweiterungen - Web-APIs | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

Verwenden von WebGL-Erweiterungen

WebGL untersttzt, hnlich wie seine Schwester-APIs (OpenGL und OpenGL ES), Erweiterungen. Eine vollstndige Liste von Erweiterungen ist im Khronos WebGL-Erweiterungsregister verfgbar.

Hinweis: In WebGL, im Gegensatz zu anderen GL-APIs, sind Erweiterungen nur verfgbar, wenn sie explizit angefordert werden.

In diesem Artikel

Kanonische Erweiterungsnamen, Anbieterprfixe und Prferenzen

Erweiterungen knnen von Browser-Entwicklern untersttzt werden, bevor sie offiziell ratifiziert sind (aber nur solange sie sich im Entwurfsstadium befinden). In diesem Fall kann ihr Name durch das Anbieterprfix (MOZ_, WEBKIT_, etc.) erweitert werden oder die Erweiterung ist nur verfgbar, wenn eine Browser-Einstellung umgeschaltet wurde.

Wenn Sie mit den neuesten Erweiterungen arbeiten mchten und auch nach der Ratifizierung (vorausgesetzt, die Erweiterung ndert sich nicht auf inkompatible Weise) weiterarbeiten wollen, sollten Sie sowohl den kanonischen Erweiterungsnamen als auch den Anbieternamen abfragen. Zum Beispiel:

js
const ext =
  gl.getExtension("OES_vertex_array_object") ||
  gl.getExtension("MOZ_OES_vertex_array_object") ||
  gl.getExtension("WEBKIT_OES_vertex_array_object");

Beachten Sie, dass Anbieterprfixe nicht mehr empfohlen werden, daher implementieren die meisten Browser experimentelle Erweiterungen hinter einem Feature-Flag anstelle des Anbieterprfixes.

Die Feature-Flags sind:

  • webgl.enable-draft-extensions in Firefox
  • chrome://flags/#enable-webgl-draft-extensions in Chromium-basierten Browsern (Chrome, Opera).

Namenskonventionen

WebGL-Erweiterungen werden mit "ANGLE", "OES", "EXT" oder "WEBGL" vorangestellt. Diese Prfixe spiegeln Ursprung und Absicht wider:

  • ANGLE_: Erweiterungen, die von den Autoren der ANGLE-Bibliothek geschrieben wurden.
  • OES_ und KHR_: Erweiterungen, die Funktionalitten von OpenGL ES (OES) oder OpenGL API-Erweiterungen widerspiegeln, die von den jeweiligen Architektur-berprfungsgremien (Khronos) genehmigt wurden.
  • OVR_: Erweiterungen, die fr Virtual Reality optimieren.
  • EXT_: Erweiterungen, die andere OpenGL ES- oder OpenGL API-Erweiterungen widerspiegeln.
  • WEBGL_: Erweiterungen, die WebGL-spezifisch sind und fr die Kompatibilitt mit mehreren Webbrowsern gedacht sind. Dies sollte auch fr Erweiterungen gelten, die ursprnglich von den OpenGL ES- oder OpenGL APIs stammen, deren Verhalten jedoch erheblich verndert wurde.

Abfragen verfgbarer Erweiterungen

Der WebGL-Kontext untersttzt die Abfrage, welche Erweiterungen verfgbar sind.

js
const availableExtensions = gl.getSupportedExtensions();

Die Methode WebGLRenderingContext.getSupportedExtensions() gibt ein Array von Zeichenfolgen zurck, eine fr jede untersttzte Erweiterung.

Erweiterungsliste

Die aktuellen Erweiterungen sind:

Aktivieren einer Erweiterung

Bevor eine Erweiterung verwendet werden kann, muss sie mit WebGLRenderingContext.getExtension() aktiviert werden. Zum Beispiel:

js
const ext = gl.getExtension("OES_texture_float");

Der Rckgabewert ist null, wenn die Erweiterung nicht untersttzt wird, oder ein Erweiterungsobjekt, andernfalls.

Erweiterungsobjekte

Wenn eine Erweiterung bestimmte Symbole oder Funktionen definiert, die im Kern der WebGL-Spezifikation nicht enthalten sind, sind sie auf dem Erweiterungsobjekt verfgbar, das durch den Aufruf von gl.getExtension() zurckgegeben wird.

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page