A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://developer.mozilla.org/de/docs/Web/API/WebGLProgram below:

WebGLProgram - Web-APIs | MDN

WebGLProgram

Baseline Widely available *

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das WebGLProgram ist Teil der WebGL API und ist eine Kombination aus zwei kompilierten WebGLShader, bestehend aus einem Vertex-Shader und einem Fragment-Shader (beide in GLSL geschrieben).

WebGLObject WebGLProgram

Um ein WebGLProgram zu erstellen, rufen Sie die Funktion createProgram() des GL-Kontextes auf. Nachdem Sie die Shader-Programme mit attachShader() angehängt haben, verlinken Sie diese zu einem nutzbaren Programm. Dies wird im untenstehenden Code gezeigt.

const program = gl.createProgram();

// Attach pre-existing shaders
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);

gl.linkProgram(program);

if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
  const info = gl.getProgramInfoLog(program);
  throw new Error(`Could not compile WebGL program. \n\n${info}`);
}

Siehe WebGLShader für Informationen zur Erstellung des vertexShader und fragmentShader im obigen Beispiel.

Beispiele Verwendung des Programms

Die Schritte, um mit dem Programm tatsächlich zu arbeiten, bestehen darin, der GPU mitzuteilen, das Programm zu verwenden, die entsprechenden Daten und Konfigurationsoptionen zu binden und schließlich etwas auf den Bildschirm zu zeichnen.

// Use the program
gl.useProgram(program);

// Bind existing attribute data
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.enableVertexAttribArray(attributeLocation);
gl.vertexAttribPointer(attributeLocation, 3, gl.FLOAT, false, 0, 0);

// Draw a single triangle
gl.drawArrays(gl.TRIANGLES, 0, 3);
Löschen des Programms

Wenn beim Verlinken des Programms ein Fehler auftritt oder Sie ein bestehendes Programm löschen möchten, ist es so einfach, WebGLRenderingContext.deleteProgram() auszuführen. Dies gibt den Speicher des verlinkten Programms frei.

gl.deleteProgram(program);
Spezifikationen Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Übersetzung hilfreich?

Diese Seite wurde automatisch aus dem Englischen übersetzt.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4