WebGL2.0

  对计算机相关图形学了解的读者应该知道OpenGL ES API标准是参考OpenGL的API指定的,而WebGL参考的以OpenGL ES的标准。WebGl.0标准是参考OpenGL ES 2.0 API标准制定的,具体可以访问 WebGL Specification。WebGL2.0 API参考的是OpenGL ES 3.0 API标准制定的,具体说明可以访问 WebGL 2 Specification。现在最新版的PC端和移动端浏览器基本都能够支持WebGL1.0,最新版微信、QQ 内置浏览器同样支持WebGL1.0,不过WebGL2.0的支持还不够广泛,不过谷歌浏览器chrome 56版本和火狐浏览器firefox 51版本,能够支持WebGL2.0标准。

WebGL2.0上下文获取

//Javascript语言ES6标准之前的版本使用var

        var gl = canvas.getContext('webgl2');
       
//ES6和ES7版本最新引入的关键词let,与var一样都是声明变量的关键字,具体不同可以查看ECMAScript2015或ECMAScript2016标准
        let gl = canvas.getContext('webgl2');
    
为了兼容性,有些浏览器还没有支持WebGL2.0,可以用如下代码
        let gl = canvas.getContext('webgl2');
        if (!gl) {
        gl = canvas.getContext('webgl');//如果不支持WebGL2.0,选择执行WebGL1.0
        }
        

WebGL2.0浏览器支持状况

  绿色 表示该版本浏览器支持WebGL2.0,红色表示该版本浏览器不支持WebGl2.0标准,数字代表该浏览器的版本号 WebGL2.0浏览器支持状况   目前来看只有火狐、谷歌、Opera的新版本支持WebGl2.0,随着时间的推移所有的浏览器支持WebGl2.0是在所难免的。

WebGL 2.0和1.0之间的区别

向后不兼容的情况

图元重启(Primitive restart)

  图元重启主要是使用WebGL API或OpenGL ES API时,多次调用 DrawArrays 或 DrawElements来实现多个不连续的图形绘制,涉及到图元重启的概念。 在WebGL2.0标准中,图元重启总是默认启动的(Primitive Restart is Always Enabled)。

等待更新..........