欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

WebGL2.0标准的发展和普及如何?

程序员文章站 2022-05-19 13:35:31
...
如题,WebGL2.0目前的标准发展到了什么样的程度?相较于WebGL1.0将会有哪些大的功能的增加?目前是否有主流浏览器对其进行了支持?如果没有,预计什么时候WebGL2.0会被大部分主流浏览器所支持?

回复内容:

碰巧做了一个WebGL 2 Samples Pack项目,内容是简单直接的展示WebGL2新特性的例程,适合学习WebGL2 新特性的用法。Github链接在此:GitHub - WebGLSamples/WebGL2Samples: Short and easy to understand samples demonstrating WebGL 2 features

贴几张里面的samples的截图,每个sample展示相应的WebGL 2的新的特性。
  • texture LOD
WebGL2.0标准的发展和普及如何?
  • transform feedback
WebGL2.0标准的发展和普及如何?
  • es 3 shader language中的flat,smooth interpolation
WebGL2.0标准的发展和普及如何?
-----------------------------------------------------------------------

下面尝试回答题目中的问题:
WebGL2.0目前的标准发展到了什么样的程度?
我了解不多。我感觉标准已经比较完备了,目前在浏览器的实现阶段。据我老师说大部分的移动设备硬件本身是可以支持WebGL2的(待验证)。WebGL 2 详细spec 可以在这里找到:WebGL 2 Specification

相较于WebGL1.0将会有哪些大的功能的增加?
WebGL 1 可以看成是OpenGL ES 2 的javascript移植, 类似的,WebGL 2 可以看做是OpenGL ES 3 的javascript移植。所以大部分的特性可以去对应到OpenGL ES 3中的特性,当然有些细节上会有出入(比如texture swizzle是不支持)。这些新特性除了可以从WebGL 2 spec中找到,也可以去寻找OpenGL ES 3的书籍来大略了解。当然我非常推荐到我们的WebGL 2 Samples Pack去直接寻找新的特性及其用法,一般每个特性都有对应的sample。

比较重要的特性有:
uniform buffer object
vertex array object
transform feedback
multisample fbo
multiple render targets
一系列texture相关:texture lod, texture 2d array, texture 3d, 压缩格式texture等等

目前是否有主流浏览器对其进行了支持?
Chrome和Firefox的WebGL2都还在开发中,不过大部分功能都已经可用,其余也在迅速的开发中。目前获得WebGL2环境的方法可以在这里找到:Getting a WebGL Implementation。最新的WebGL 2 context应该使用Google Chrome Canary和Firefox developer edition。
和google的人交流过,具体发布时间记不得了,好像是今年6月?总之不会久了。Khronos已经在今年3月的GDC上举行了WebGL2 和glTF的交流会。
具体到哪些特性已经完成实现,可以在我们WebGL 2 Sample Pack的ReadMe中有一张表看到测试情况。

-------------------------------------------------------------
最后贴一个谷歌大神的博客,What's coming in-webgl-20:http://blog.tojicode.com/2013/09/whats-coming-in-webgl-20.html

最后再安利一下自己的入门级project, WebGL 2 Sample Pack:GitHub - WebGLSamples/WebGL2Samples: Short and easy to understand samples demonstrating WebGL 2 features WebGL 2.0现在已经在最新的Firefox和Chrome桌面版本上得到支持,普及的关键还是看Safari和iOS什么时候支持了,不然WebGL平台无关性相当于一句空话。

至于WebGL 2.0的新特性,可以看我专栏中关于WebGL 2.0的特性展望。相较于WebGL 1.0,2.0的功能增加都是非常实用且急需的功能。 自答这题,突然发现了一个神器:WebGL Report

可以轻松查看当前浏览器对WebGL1.0/2.0的支持情况,包括支持的attribute,uniform,varying数量,一些重要功能的支持程度等。
相关标签: WebGL 2.0 1.0