WebGL是以OpenGL ES 2.0为基础的一套浏览器3D图形API(HTML5),在编程概念上与OpenGL ES 2.0几乎是完全通用的,同样采用可编程渲染管线,也就是每个顶点的处理受到一小段Vertex Shader代码的控制,每个像素的绘制过程也受到一小段Fragment Shader代码的控制。WebGL主要是3D为主,不过2D的绘图要求也可以变通来实现。
WebGL无论如何都需要一个显示对象来呈现,这个对象就是Canvas,仅此而已,WebGL不对Canvas有任何附加的操作API,那部分属于浏览器js支持的范畴。可看作能在浏览器上运行的OpenGL,WebGL的HTML节点名称用的也是Canvas,但是他的渲染则和canvas不同,他可以支持硬件加速,支持3D,可用于3D游戏的开发,目前很少有3D的HTML5游戏,现在你能看到很多酷炫的图形交互的3D图表,大多用WebGL来渲染的。WebGL也继承OpenGL ES 2.0的兼容性支持能力,在不同的设备上做有限的支持,需要运行时查询。