Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
WebGL2RenderingContext
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
DasWebGL2RenderingContext-Interface bietet den OpenGL ES 3.0-Rendering-Kontext für die Zeichenfläche eines HTML-<canvas>-Elements.
Um ein Objekt dieses Interfaces zu erhalten, rufen SiegetContext() auf einem<canvas>-Element auf und geben Sie "webgl2" als Argument:
const canvas = document.getElementById("myCanvas");const gl = canvas.getContext("webgl2");Hinweis:WebGL 2 ist eine Erweiterung von WebGL 1. DasWebGL2RenderingContext-Interface implementiert alle Mitglieder desWebGLRenderingContext-Interfaces. Einige Methoden des WebGL 1-Kontexts können zusätzliche Werte akzeptieren, wenn sie in einem WebGL 2-Kontext verwendet werden. Diese Informationen finden Sie auf den WebGL 1-Referenzseiten.
DasWebGL-Tutorial bietet mehr Informationen, Beispiele und Ressourcen, um mit WebGL zu beginnen.
In diesem Artikel
Konstanten
Siehe die Seite zuWebGL-Konstanten.
Statusinformationen
WebGL2RenderingContext.getIndexedParameter()Gibt den indizierten Wert für das gegebene
targetzurück.
Puffer
WebGL2RenderingContext.bufferData()Initialisiert und erstellt den Datenspeicher des Pufferobjekts.
WebGL2RenderingContext.bufferSubData()Aktualisiert einen Teil des Datenspeichers eines Pufferobjekts.
WebGL2RenderingContext.copyBufferSubData()Kopiert Teile der Daten eines Puffers in einen anderen Puffer.
WebGL2RenderingContext.getBufferSubData()Liest Daten aus einem Puffer und schreibt sie in einen
ArrayBufferoderSharedArrayBuffer.
Framebuffer
WebGL2RenderingContext.blitFramebuffer()Überträgt einen Block von Pixeln vom Lese-Framebuffer zum Zeichnungs-Framebuffer.
WebGL2RenderingContext.framebufferTextureLayer()Fügt eine einzelne Schicht einer Textur an einen Framebuffer an.
WebGL2RenderingContext.invalidateFramebuffer()Invaliert den Inhalt von Anhängen in einem Framebuffer.
WebGL2RenderingContext.invalidateSubFramebuffer()Invaliert Teile des Inhalts von Anhängen in einem Framebuffer.
WebGL2RenderingContext.readBuffer()Wählt einen Farb-Puffer als Quelle für Pixel aus.
Renderbuffer
WebGL2RenderingContext.getInternalformatParameter()Gibt Informationen über Implementierungs-abhängige Unterstützung für interne Formate zurück.
WebGL2RenderingContext.renderbufferStorageMultisample()Erstellt und initialisiert den Datenspeicher eines Renderpufferobjekts und erlaubt die Angabe der zu verwendenden Anzahl von Samples.
Texturen
WebGL2RenderingContext.texStorage2D()Bestimmt alle Ebenen des zweidimensionalen Texturspeichers.
WebGL2RenderingContext.texStorage3D()Bestimmt alle Ebenen eines dreidimensionalen Texturspeichers oder eines zweidimensionalen Array-Texturspeichers.
WebGL2RenderingContext.texImage3D()Bestimmt ein dreidimensionales Texturbild.
WebGL2RenderingContext.texSubImage3D()Bestimmt ein Teilrechteck der aktuellen 3D-Textur.
WebGL2RenderingContext.copyTexSubImage3D()Kopiert Pixel aus dem aktuellen
WebGLFramebufferin ein bestehendes 3D-Textur-Sub-Image.WebGL2RenderingContext.compressedTexImage3DBestimmt ein dreidimensionales Texturbild in einem komprimierten Format.
WebGL2RenderingContext.compressedTexSubImage3D()Bestimmt ein dreidimensionales Teilrechteck für ein Texturbild in einem komprimierten Format.
Programme und Shader
WebGL2RenderingContext.getFragDataLocation()Gibt die Bindung von Farbnummern an benutzerdefinierte, variierende Ausgabewerte zurück.
Uniforms und Attribute
WebGL2RenderingContext.uniform[1234][uif][v]()Methoden, die Werte von Uniform-Variablen spezifizieren.
WebGL2RenderingContext.uniformMatrix[234]x[234]fv()Methoden, die Matrixwerte für Uniform-Variablen spezifizieren.
WebGL2RenderingContext.vertexAttribI4[u]i[v]()Methoden, die Ganzzahlen für generische Vertex-Attribute spezifizieren.
WebGL2RenderingContext.vertexAttribIPointer()Spezifiziert Ganzzahl-Datenformate und -Positionen von Vertex-Attributen in einem Vertex-Attributs-Array.
Farbräume
WebGL2RenderingContext.drawingBufferColorSpaceBestimmt den Farbraum des WebGL-Zeichenpuffers.
WebGL2RenderingContext.unpackColorSpaceBestimmt den Farbraum, in den beim Importieren von Texturen konvertiert werden soll.
Zeichenbuffer
WebGL2RenderingContext.vertexAttribDivisor()Ändert die Rate, mit der generische Vertex-Attribute voranschreiten, wenn mehrere Instanzen von Primitiven mit
gl.drawArraysInstanced()undgl.drawElementsInstanced()gerendert werden.WebGL2RenderingContext.drawArraysInstanced()Rendert Primitiven aus Array-Daten. Außerdem kann es mehrere Instanzen des Elementsbereichs ausführen.
WebGL2RenderingContext.drawElementsInstanced()Rendert Primitiven aus Array-Daten. Darüber hinaus kann es mehrere Instanzen eines Elementsatzes ausführen.
WebGL2RenderingContext.drawRangeElements()Rendert Primitiven aus Array-Daten in einem bestimmten Bereich.
WebGL2RenderingContext.drawBuffers()Bestimmt eine Liste von Farb-Puffern, in die gezeichnet werden soll.
WebGL2RenderingContext.clearBuffer[fiuv]()Löscht Puffer aus dem aktuell gebundenen Framebuffer.
Abfrageobjekte
Methoden zur Arbeit mitWebGLQuery-Objekten.
WebGL2RenderingContext.createQuery()Erstellt ein neues
WebGLQuery-Objekt.WebGL2RenderingContext.deleteQuery()Löscht ein gegebenes
WebGLQuery-Objekt.WebGL2RenderingContext.isQuery()Gibt
truezurück, wenn ein gegebenes Objekt ein gültigesWebGLQuery-Objekt ist.WebGL2RenderingContext.beginQuery()Startet eine asynchrone Abfrage.
WebGL2RenderingContext.endQuery()Markiert das Ende einer asynchronen Abfrage.
WebGL2RenderingContext.getQuery()Gibt ein
WebGLQuery-Objekt für ein gegebenes Ziel zurück.WebGL2RenderingContext.getQueryParameter()Gibt Informationen über eine Abfrage zurück.
Sampler-Objekte
WebGL2RenderingContext.createSampler()Erstellt ein neues
WebGLSampler-Objekt.WebGL2RenderingContext.deleteSampler()Löscht ein gegebenes
WebGLSampler-Objekt.WebGL2RenderingContext.bindSampler()Bindet ein gegebenes
WebGLSampleran eine Textureinheit.WebGL2RenderingContext.isSampler()Gibt
truezurück, wenn ein gegebenes Objekt ein gültigesWebGLSampler-Objekt ist.WebGL2RenderingContext.samplerParameter[if]()Legt Sampler-Parameter fest.
WebGL2RenderingContext.getSamplerParameter()Gibt Sampler-Parameterinformationen zurück.
Synchronisationsobjekte
WebGL2RenderingContext.fenceSync()Erstellt ein neues
WebGLSync-Objekt und fügt es in den GL-Befehlsstream ein.WebGL2RenderingContext.isSync()Gibt
truezurück, wenn das übergebene Objekt ein gültigesWebGLSync-Objekt ist.WebGL2RenderingContext.deleteSync()Löscht ein gegebenes
WebGLSync-Objekt.WebGL2RenderingContext.clientWaitSync()Blockiert und wartet darauf, dass ein
WebGLSync-Objekt signaliert wird oder ein gegebener Timeout überschritten wird.WebGL2RenderingContext.waitSync()Gibt sofort zurück, wartet jedoch auf dem GL-Server, bis das gegebene
WebGLSync-Objekt signaliert wird.WebGL2RenderingContext.getSyncParameter()Gibt Parameterinformationen eines
WebGLSync-Objekts zurück.
Transform-Feedback
WebGL2RenderingContext.createTransformFeedback()Erstellt und initialisiert
WebGLTransformFeedback-Objekte.WebGL2RenderingContext.deleteTransformFeedback()Löscht ein gegebenes
WebGLTransformFeedback-Objekt.WebGL2RenderingContext.isTransformFeedback()Gibt
truezurück, wenn das übergebene Objekt ein gültigesWebGLTransformFeedback-Objekt ist.WebGL2RenderingContext.bindTransformFeedback()Bindet ein übergebenes
WebGLTransformFeedback-Objekt an den aktuellen GL-Zustand.WebGL2RenderingContext.beginTransformFeedback()Startet eine Transform-Feedback-Operation.
WebGL2RenderingContext.endTransformFeedback()Beendet eine Transform-Feedback-Operation.
WebGL2RenderingContext.transformFeedbackVaryings()Bestimmt Werte, die in
WebGLTransformFeedback-Puffer aufgezeichnet werden sollen.WebGL2RenderingContext.getTransformFeedbackVarying()Gibt Informationen über variierende Variablen aus
WebGLTransformFeedback-Puffern zurück.WebGL2RenderingContext.pauseTransformFeedback()Pausiert eine Transform-Feedback-Operation.
WebGL2RenderingContext.resumeTransformFeedback()Setzt eine Transform-Feedback-Operation fort.
Uniform-Buffer-Objekte
WebGL2RenderingContext.bindBufferBase()Bindet ein gegebenes
WebGLBufferan eine gegebene Bindungsstelle (target) an einem gegebenenindex.WebGL2RenderingContext.bindBufferRange()Bindet einen Bereich eines gegebenen
WebGLBufferan eine gegebene Bindungsstelle (target) an einem gegebenenindex.WebGL2RenderingContext.getUniformIndices()Ruft die Indizes einer Anzahl von Uniforms innerhalb eines
WebGLProgramab.WebGL2RenderingContext.getActiveUniforms()Ruft Informationen über aktive Uniforms innerhalb eines
WebGLProgramab.WebGL2RenderingContext.getUniformBlockIndex()Ruft den Index eines Uniform-Blocks innerhalb eines
WebGLProgramab.WebGL2RenderingContext.getActiveUniformBlockParameter()Ruft Informationen über einen aktiven Uniform-Block innerhalb eines
WebGLProgramab.WebGL2RenderingContext.getActiveUniformBlockName()Ruft den Namen des aktiven Uniform-Blocks an einem gegebenen Index innerhalb eines
WebGLProgramab.WebGL2RenderingContext.uniformBlockBinding()Weist Bindungspunkte für aktive Uniform-Blöcke zu.
Vertex-Array-Objekte
Methoden zur Arbeit mitWebGLVertexArrayObject (VAO)-Objekten.
WebGL2RenderingContext.createVertexArray()Erstellt ein neues
WebGLVertexArrayObject.WebGL2RenderingContext.deleteVertexArray()Löscht ein gegebenes
WebGLVertexArrayObject.WebGL2RenderingContext.isVertexArray()Gibt
truezurück, wenn ein gegebenes Objekt ein gültigesWebGLVertexArrayObjectist.WebGL2RenderingContext.bindVertexArray()Bindet ein gegebenes
WebGLVertexArrayObjectan den Puffer.
Spezifikationen
| Specification |
|---|
| WebGL 2.0 Specification> # 3.7> |