| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/WebGL_API/Tutorial/Getting_started_with_WebGL | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
WebGL ermglicht es Webinhalten, eine auf OpenGL ES 2.0 basierende API zu verwenden, um 2D- und 3D-Rendering in einem HTML-canvas in Browsern, die es untersttzen, ohne Plug-ins durchzufhren.
WebGL-Programme bestehen aus Steuerungscode, der in JavaScript geschrieben ist, und Shadercode (GLSL), der auf der Grafikeinheit (GPU) eines Computers ausgefhrt wird. WebGL-Elemente knnen mit anderen HTML-Elementen gemischt und mit anderen Teilen der Seite oder dem Seitenhintergrund zusammengefhrt werden.
Dieser Artikel fhrt Sie in die Grundlagen der Verwendung von WebGL ein. Es wird davon ausgegangen, dass Sie bereits ber ein Verstndnis der Mathematik verfgen, die in 3D-Grafiken involviert ist, und dieser Artikel erhebt keinen Anspruch darauf, Ihnen Konzepte der 3D-Grafik selbst beizubringen.
Die Codebeispiele in diesem Tutorial finden Sie auch im WebGL-Examples-Ordner auf GitHub.
Es sei hier angemerkt, dass diese Artikelsammlung WebGL selbst einfhrt; es gibt jedoch eine Reihe von Frameworks, die die Fhigkeiten von WebGL kapseln und es erleichtern, 3D-Anwendungen und Spiele zu entwickeln, wie z. B. THREE.js und BABYLON.js.
Erstellen Sie zunchst zwei neue Dateien:
Die Datei "index.html" sollte Folgendes enthalten:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>WebGL Demo</title>
<script src="webgl-demo.js" type="module"></script>
</head>
<body>
<canvas id="gl-canvas" width="640" height="480"></canvas>
</body>
</html>
Beachten Sie, dass hier ein Canvas deklariert wird, in das unser Beispiel zeichnen wird.
Fgen Sie der Datei "webgl-demo.js" folgenden Code hinzu:
main();
//
// start here
//
function main() {
const canvas = document.querySelector("#gl-canvas");
// Initialize the GL context
const gl = canvas.getContext("webgl");
// Only continue if WebGL is available and working
if (gl === null) {
alert(
"Unable to initialize WebGL. Your browser or machine may not support it.",
);
return;
}
// Set clear color to black, fully opaque
gl.clearColor(0.0, 0.0, 0.0, 1.0);
// Clear the color buffer with specified clear color
gl.clear(gl.COLOR_BUFFER_BIT);
}
Die Funktion main() wird aufgerufen, wenn unser Skript geladen wird. Ihr Zweck besteht darin, den WebGL-Kontext einzurichten und mit der Darstellung von Inhalten zu beginnen.
Das Erste, was wir hier tun, ist, eine Referenz zum Canvas zu erhalten und diese einer Variablen namens canvas zuzuweisen.
Sobald wir das Canvas haben, versuchen wir, einen WebGLRenderingContext dafr zu erhalten, indem wir getContext() aufrufen und den String "webgl" bergeben. Wenn der Browser WebGL nicht untersttzt, gibt getContext() null zurck, in diesem Fall zeigen wir dem Benutzer eine Nachricht an und beenden das Programm.
Wenn der Kontext erfolgreich initialisiert wird, ist die Variable gl unsere Referenz darauf. In diesem Fall setzen wir die Clear-Farbe auf Schwarz und lschen den Kontext in dieser Farbe (indem wir das Canvas mit der Hintergrundfarbe neu zeichnen).
An diesem Punkt haben Sie gengend Code, sodass der WebGL-Kontext erfolgreich initialisiert werden sollte, und Sie sollten mit einem groen schwarzen, leeren Kasten enden, der bereit ist, Inhalte zu empfangen.
Vollstndigen Code anzeigen | Dieses Demo auf einer neuen Seite ffnen
WebGLRenderingContextWebGLBufferWebGLFramebufferWebGLRenderbufferWebGLObjectWebGLProgramWebGLShaderWebGLTextureWebGLUniformLocationWebGLActiveInfoWebGLShaderPrecisionFormatWebGLContextEventWebGLQueryWebGLSamplerWebGLSyncWebGLTransformFeedbackWebGLVertexArrayObjectWebGL2RenderingContextWEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_compressed_texture_etc1WEBGL_compressed_texture_pvrtcWEBGL_debug_renderer_infoWEBGL_debug_shadersWEBGL_depth_textureOES_element_index_uintEXT_frag_depthWEBGL_lose_contextEXT_texture_filter_anisotropicEXT_sRGBOES_standard_derivativesOES_texture_floatWEBGL_draw_buffersOES_texture_float_linearEXT_shader_texture_lodOES_texture_half_floatOES_texture_half_float_linearWEBGL_color_buffer_floatEXT_color_buffer_half_floatOES_vertex_array_objectANGLE_instanced_arraysEXT_blend_minmaxEXT_disjoint_timer_queryOES_draw_buffers_indexedDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |