| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/WebGL_API/Using_Extensions | [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 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.
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:
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 Firefoxchrome://flags/#enable-webgl-draft-extensions in Chromium-basierten Browsern (Chrome, Opera).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.Der WebGL-Kontext untersttzt die Abfrage, welche Erweiterungen verfgbar sind.
const availableExtensions = gl.getSupportedExtensions();
Die Methode WebGLRenderingContext.getSupportedExtensions() gibt ein Array von Zeichenfolgen zurck, eine fr jede untersttzte Erweiterung.
Die aktuellen Erweiterungen sind:
ANGLE_instanced_arraysEXT_blend_minmaxEXT_color_buffer_floatEXT_color_buffer_half_floatEXT_disjoint_timer_queryEXT_float_blendEXT_frag_depthEXT_shader_texture_lodEXT_sRGBEXT_texture_compression_bptcEXT_texture_compression_rgtcEXT_texture_filter_anisotropicEXT_texture_norm16KHR_parallel_shader_compileOES_draw_buffers_indexedOES_element_index_uintOES_fbo_render_mipmapOES_standard_derivativesOES_texture_floatOES_texture_float_linearOES_texture_half_floatOES_texture_half_float_linearOES_vertex_array_objectOVR_multiview2WEBGL_color_buffer_floatWEBGL_compressed_texture_astcWEBGL_compressed_texture_etcWEBGL_compressed_texture_etc1WEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_debug_renderer_infoWEBGL_debug_shadersWEBGL_depth_textureWEBGL_draw_buffersWEBGL_lose_contextWEBGL_multi_drawBevor eine Erweiterung verwendet werden kann, muss sie mit WebGLRenderingContext.getExtension() aktiviert werden. Zum Beispiel:
const ext = gl.getExtension("OES_texture_float");
Der Rckgabewert ist null, wenn die Erweiterung nicht untersttzt wird, oder ein Erweiterungsobjekt, andernfalls.
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.
WebGLRenderingContext.getSupportedExtensions()WebGLRenderingContext.getExtension()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 |