BASELINE NowYouCanUse.com
Widely Available WebGL

WebGL

The WebGLRenderingContext API is the "webgl" rendering context for the <canvas> element. It represents a space for drawing two- and three-dimensional graphics and animations.
Baseline Status: Achieved Widely Available on Jan 29, 2018 (Cross-browser Newly Available since Jul 29, 2015).
Desktop Browser Engine Support
Google Chrome
9
Supported
Mozilla Firefox
4
Supported
Apple Safari
5.1
Supported
Microsoft Edge
12
Supported
Mobile Browser Engine Support
Chrome Android
25
Firefox Android
4
Safari iOS
8
Specifications and References
MDN Browser Compat Data Keys:
api.HTMLCanvasElement.getContext.webgl_context ↗ api.HTMLCanvasElement.getContext.webgl_context.options_alpha_parameter ↗ api.HTMLCanvasElement.getContext.webgl_context.options_failIfMajorPerformanceCaveat_parameter ↗ api.HTMLCanvasElement.getContext.webgl_context.options_powerPreference_parameter ↗ api.HTMLCanvasElement.webglcontextcreationerror_event ↗ api.HTMLCanvasElement.webglcontextlost_event ↗ api.HTMLCanvasElement.webglcontextrestored_event ↗ api.WebGLActiveInfo ↗ api.WebGLActiveInfo.name ↗ api.WebGLActiveInfo.size ↗ api.WebGLActiveInfo.type ↗ api.WebGLActiveInfo.worker_support ↗ api.WebGLBuffer ↗ api.WebGLBuffer.worker_support ↗ api.WebGLContextEvent ↗ api.WebGLContextEvent.WebGLContextEvent ↗ api.WebGLContextEvent.statusMessage ↗ api.WebGLContextEvent.worker_support ↗ api.WebGLFramebuffer ↗ api.WebGLFramebuffer.worker_support ↗ api.WebGLObject ↗ api.WebGLProgram ↗ api.WebGLProgram.worker_support ↗ api.WebGLRenderbuffer ↗ api.WebGLRenderbuffer.worker_support ↗ api.WebGLRenderingContext ↗ api.WebGLRenderingContext.activeTexture ↗ api.WebGLRenderingContext.attachShader ↗ api.WebGLRenderingContext.bindAttribLocation ↗ api.WebGLRenderingContext.bindBuffer ↗ api.WebGLRenderingContext.bindFramebuffer ↗ api.WebGLRenderingContext.bindRenderbuffer ↗ api.WebGLRenderingContext.bindTexture ↗ api.WebGLRenderingContext.blendColor ↗ api.WebGLRenderingContext.blendEquation ↗ api.WebGLRenderingContext.blendEquationSeparate ↗ api.WebGLRenderingContext.blendFunc ↗ api.WebGLRenderingContext.blendFuncSeparate ↗ api.WebGLRenderingContext.bufferData ↗ api.WebGLRenderingContext.bufferSubData ↗ api.WebGLRenderingContext.canvas ↗ api.WebGLRenderingContext.checkFramebufferStatus ↗ api.WebGLRenderingContext.clear ↗ api.WebGLRenderingContext.clearColor ↗ api.WebGLRenderingContext.clearDepth ↗ api.WebGLRenderingContext.clearStencil ↗ api.WebGLRenderingContext.colorMask ↗ api.WebGLRenderingContext.compileShader ↗ api.WebGLRenderingContext.compressedTexImage2D ↗ api.WebGLRenderingContext.compressedTexSubImage2D ↗ api.WebGLRenderingContext.copyTexImage2D ↗ api.WebGLRenderingContext.copyTexSubImage2D ↗ api.WebGLRenderingContext.createBuffer ↗ api.WebGLRenderingContext.createFramebuffer ↗ api.WebGLRenderingContext.createProgram ↗ api.WebGLRenderingContext.createRenderbuffer ↗ api.WebGLRenderingContext.createShader ↗ api.WebGLRenderingContext.createTexture ↗ api.WebGLRenderingContext.cullFace ↗ api.WebGLRenderingContext.deleteBuffer ↗ api.WebGLRenderingContext.deleteFramebuffer ↗ api.WebGLRenderingContext.deleteProgram ↗ api.WebGLRenderingContext.deleteRenderbuffer ↗ api.WebGLRenderingContext.deleteShader ↗ api.WebGLRenderingContext.deleteTexture ↗ api.WebGLRenderingContext.depthFunc ↗ api.WebGLRenderingContext.depthMask ↗ api.WebGLRenderingContext.depthRange ↗ api.WebGLRenderingContext.detachShader ↗ api.WebGLRenderingContext.disable ↗ api.WebGLRenderingContext.disableVertexAttribArray ↗ api.WebGLRenderingContext.drawArrays ↗ api.WebGLRenderingContext.drawElements ↗ api.WebGLRenderingContext.drawingBufferFormat ↗ api.WebGLRenderingContext.drawingBufferHeight ↗ api.WebGLRenderingContext.drawingBufferStorage ↗ api.WebGLRenderingContext.drawingBufferWidth ↗ api.WebGLRenderingContext.enable ↗ api.WebGLRenderingContext.enableVertexAttribArray ↗ api.WebGLRenderingContext.finish ↗ api.WebGLRenderingContext.flush ↗ api.WebGLRenderingContext.framebufferRenderbuffer ↗ api.WebGLRenderingContext.framebufferTexture2D ↗ api.WebGLRenderingContext.frontFace ↗ api.WebGLRenderingContext.generateMipmap ↗ api.WebGLRenderingContext.getActiveAttrib ↗ api.WebGLRenderingContext.getActiveUniform ↗ api.WebGLRenderingContext.getAttachedShaders ↗ api.WebGLRenderingContext.getAttribLocation ↗ api.WebGLRenderingContext.getBufferParameter ↗ api.WebGLRenderingContext.getContextAttributes ↗ api.WebGLRenderingContext.getError ↗ api.WebGLRenderingContext.getExtension ↗ api.WebGLRenderingContext.getFramebufferAttachmentParameter ↗ api.WebGLRenderingContext.getParameter ↗ api.WebGLRenderingContext.getProgramInfoLog ↗ api.WebGLRenderingContext.getProgramParameter ↗ api.WebGLRenderingContext.getRenderbufferParameter ↗ api.WebGLRenderingContext.getShaderInfoLog ↗ api.WebGLRenderingContext.getShaderParameter ↗ api.WebGLRenderingContext.getShaderPrecisionFormat ↗ api.WebGLRenderingContext.getShaderSource ↗ api.WebGLRenderingContext.getSupportedExtensions ↗ api.WebGLRenderingContext.getTexParameter ↗ api.WebGLRenderingContext.getUniform ↗ api.WebGLRenderingContext.getUniformLocation ↗ api.WebGLRenderingContext.getVertexAttrib ↗ api.WebGLRenderingContext.getVertexAttribOffset ↗ api.WebGLRenderingContext.hint ↗ api.WebGLRenderingContext.isBuffer ↗ api.WebGLRenderingContext.isContextLost ↗ api.WebGLRenderingContext.isEnabled ↗ api.WebGLRenderingContext.isFramebuffer ↗ api.WebGLRenderingContext.isProgram ↗ api.WebGLRenderingContext.isRenderbuffer ↗ api.WebGLRenderingContext.isShader ↗ api.WebGLRenderingContext.isTexture ↗ api.WebGLRenderingContext.lineWidth ↗ api.WebGLRenderingContext.linkProgram ↗ api.WebGLRenderingContext.pixelStorei ↗ api.WebGLRenderingContext.polygonOffset ↗ api.WebGLRenderingContext.readPixels ↗ api.WebGLRenderingContext.renderbufferStorage ↗ api.WebGLRenderingContext.sampleCoverage ↗ api.WebGLRenderingContext.scissor ↗ api.WebGLRenderingContext.shaderSource ↗ api.WebGLRenderingContext.stencilFunc ↗ api.WebGLRenderingContext.stencilFuncSeparate ↗ api.WebGLRenderingContext.stencilMask ↗ api.WebGLRenderingContext.stencilMaskSeparate ↗ api.WebGLRenderingContext.stencilOp ↗ api.WebGLRenderingContext.stencilOpSeparate ↗ api.WebGLRenderingContext.texImage2D ↗ api.WebGLRenderingContext.texParameterf ↗ api.WebGLRenderingContext.texParameteri ↗ api.WebGLRenderingContext.texSubImage2D ↗ api.WebGLRenderingContext.uniform1f ↗ api.WebGLRenderingContext.uniform1fv ↗ api.WebGLRenderingContext.uniform1i ↗ api.WebGLRenderingContext.uniform1iv ↗ api.WebGLRenderingContext.uniform2f ↗ api.WebGLRenderingContext.uniform2fv ↗ api.WebGLRenderingContext.uniform2i ↗ api.WebGLRenderingContext.uniform2iv ↗ api.WebGLRenderingContext.uniform3f ↗ api.WebGLRenderingContext.uniform3fv ↗ api.WebGLRenderingContext.uniform3i ↗ api.WebGLRenderingContext.uniform3iv ↗ api.WebGLRenderingContext.uniform4f ↗ api.WebGLRenderingContext.uniform4fv ↗ api.WebGLRenderingContext.uniform4i ↗ api.WebGLRenderingContext.uniform4iv ↗ api.WebGLRenderingContext.uniformMatrix2fv ↗ api.WebGLRenderingContext.uniformMatrix3fv ↗ api.WebGLRenderingContext.uniformMatrix4fv ↗ api.WebGLRenderingContext.useProgram ↗ api.WebGLRenderingContext.validateProgram ↗ api.WebGLRenderingContext.vertexAttrib1f ↗ api.WebGLRenderingContext.vertexAttrib1fv ↗ api.WebGLRenderingContext.vertexAttrib2f ↗ api.WebGLRenderingContext.vertexAttrib2fv ↗ api.WebGLRenderingContext.vertexAttrib3f ↗ api.WebGLRenderingContext.vertexAttrib3fv ↗ api.WebGLRenderingContext.vertexAttrib4f ↗ api.WebGLRenderingContext.vertexAttrib4fv ↗ api.WebGLRenderingContext.vertexAttribPointer ↗ api.WebGLRenderingContext.viewport ↗ api.WebGLRenderingContext.worker_support ↗ api.WebGLShader ↗ api.WebGLShader.worker_support ↗ api.WebGLShaderPrecisionFormat ↗ api.WebGLShaderPrecisionFormat.precision ↗ api.WebGLShaderPrecisionFormat.rangeMax ↗ api.WebGLShaderPrecisionFormat.rangeMin ↗ api.WebGLShaderPrecisionFormat.worker_support ↗ api.WebGLTexture ↗ api.WebGLTexture.worker_support ↗ api.WebGLUniformLocation ↗ api.WebGLUniformLocation.worker_support ↗
id: webgl