Widely Available
WebGL
id: 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 ↗