WebGL 2.0

       学习WebGL 2.0有一段时间了,今天分享一些WebGL 2.0的一些学习心得和学习资料。

       这是WebGL的一些介绍,包括WebGL 1.0,WebGL 2.0的规范和:

     WebGL是基于OpenGL ES的低级3D图形API的跨平台,免版税的Web标准。熟悉OpenGL ES 2.0的开发人员将使用GLSL将WebGL识别为基于Shader的API,其构造在语义上与基础OpenGL ES API的构造相似。它与OpenGL ES规范保持着非常接近的地位,并为开发人员所期望的诸如JavaScript之类的内存管理语言提供了一些方便。WebGL 1.0公开了OpenGL ES 2.0功能集; WebGL 2.0公开了OpenGL ES 3.0 API。

        这是链接Khronos WebGL (里面有WebGL 2.0的链接)的网址:https://www.khronos.org/webgl/

        第一步我们肯定要知道你所用的浏览器是不是支持WebGL 2.0。点击下列网址,你就会知道,而且会有挺多有意思的事情。

        WebGL 2.0 支持测试链接:http://webglreport.com/?v=2

        下面是WebGL 2.0 目前对浏览器的支持(Wiki上的资料)

WebGL 2.0_第1张图片

         第二步,我们要知道如何去获取WebGL2.0的上下文对象。下面就给出简单的一句代码。

//获取3D Canvas
var canvas = document.getElementById('bncanvas');
//获取GL上下文
gl = canvas.getContext('webgl2', { antialias: true });

        这是获取WebGL 2.0的上下文,WebGL 2.0很多是兼容WebGL 1.0的,但有些是不兼容的。WebGL 2.0规范里面也有说明。里面有写很多东西也没写具体,或者是我知识有限没看懂,例如WebGL的拓展(压缩纹理)等。

        第三步,我们要知道WebGL 2.0d的着色器版本是3.0版本的。

        这是opengl es 3.0和3.0 GLSL ES的在线查询:https://www.khronos.org/registry/OpenGL-Refpages/es3.0/

        这是GLSL  ES 3.0 PDF链接:https://www.khronos.org/registry/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf

        这里是WebGL 2.0的快速指南(包含底层API和着色器):

         https://www.khronos.org/files/webgl20-reference-guide.pdf

        当然最重要的是WebGL 2.0新特性,像实例渲染,MRT,UBO,3D纹理等,这些对比WebGL 1.0的文档即可知道。

        当然这些东西需要在工作中和学习中进行体会。

        后面打算写一些WebGL 2.0的一些案例教程,写部分基础和一些高级特效的实现。

你可能感兴趣的:(WebGL)