--- title: 'L''API WebGL: Gràfics 2D i 3D al web' slug: Web/API/WebGL_API tags: - Avançat - Gràfics - Media - WebGL translation_of: Web/API/WebGL_API ---
{{WebGLSidebar}}

WebGL (Web Graphics Library) és una API Javascript per renderitzar gràfics interactius 3D i 2D en qualsevol navegador web compatible sense la utilització d'extensions. WebGL ho porta a terme introduint una API que s'adapta molt a OpenGL ES 2.0 i que pot utilitzar-se en elements {{HTMLElement("canvas")}} d'HTML5.

Firefox 4+, Google Chrome 9+, Opera 12+, Safari 5.1+ i Internet Explorer 11+, suporten WebGL; malgrat això, el dispositiu de l'usuari ha de disposar de maquinari que suporti aquestes característiques.

L'element {{HTMLElement("canvas")}} s'utilitza també en Canvas 2D per realitzar gràfics 2D en pàgines web.

Referència

Interfícies estàndard

Extensions

Events

Constants i tipus

WebGL 2

WebGL 2 és una actualització important de WebGL a la que s'accedeix mitjançant la interfície {{domxref("WebGL2RenderingContext")}}. Està basat en OpenGL ES 3.0 i algunes de les seves millores són:

Vegeu també l'entrada al blog "WebGL 2 aterra en el Firefox" i webglsamples.org/WebGL2Samples per unes quantes demostracions.

Guies i tutorials

Tutorials avançats

Recursos

Llibraries

Especificacions

Especificacions Estat Comentari
{{SpecName('WebGL')}} {{Spec2('WebGL')}} Definició inicial. Basat en OpenGL ES 2.0
{{SpecName('WebGL2')}} {{Spec2('WebGL2')}} Ampliació de WebGL 1. Basat en OpenGL ES 3.0.
{{SpecName('OpenGL ES 2.0')}} {{Spec2('OpenGL ES 2.0')}}  
{{SpecName('OpenGL ES 3.0')}} {{Spec2('OpenGL ES 3.0')}}  

Compatibilitat de navegadors

{{CompatibilityTable}}
Característica Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic 9 {{CompatVersionUnknown}} {{CompatGeckoDesktop("2.0")}} 11 12 5.1
WebGL 2 56 {{CompatNo}} {{CompatGeckoDesktop("51")}} {{CompatNo}} 43 {{CompatNo}}
Característica Chrome per Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic 25 {{CompatVersionUnknown}} 4 {{CompatNo}} 12 8.1
WebGL 2 {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

Notes de compatibilitat

A més del navegador, la pròpia GPU ha de suportar la característica. Per exemple, la compressió de textures S3 (S3TC) només està disponible en tauletes basades en el chipset Tegra. La majoria de navegadors fan disponible el context WebGL a través del nom de context webgl, però els navegadors antics el fan disponible a través del nom experimental-webgl també. La versió WebGL 2 és totalment retro compatible i utilitza el nom webgl2.

Notes sobre Gecko

Debugant i testant WebGL

Començant amb Gecko 10.0 {{geckoRelease("10.0")}}, hi ha dues preferències disponibles que et permeten controlar les capacitats WebGL per testar:

webgl.min_capability_mode
Una propietat booleana que, quan és certa, habilita un mode de capacitats mínimes. Quan aquest mode està actiu, WebGL està configurat per suportar només el conjunt mínim de funcionalitats que marca l'especificació de WebGL. Això permet comprovar que el codi WebGL funcionarà en qualsevol dispositiu o navegador, independentment de les capacitats d'aquest. És false per defecte.
webgl.disable_extensions
Una propietat booleana que, quan és certa, desactiva totes les extensions WebGL. És false per defecte.

See also