引子
时光荏苒岁月如梭,不知不觉间,青丝变白发,哦不是,应该是WebGL已经发展到了2.0阶段:WebGL2,WebGL2相比WebGL增加了很多新的特性,这些新的特性能够帮助程序开发人员实现更多 更酷 更炫 更高性能的Web三维程序。本系列文章将会向读者展示WEBGL2开发与WebGL的区别和WEBGL2的一些重要的新特性进行介绍.
本系列文章面向已经熟悉WebGL的读者,如果你还不熟悉WebGL,可以考虑阅读WebGL的相关书籍。
WebGL2的新特性
WEBGL2的主要新特性包括:
(但不限于 可能列举不全,后续会陆续补充)
- OPENGL ES着色器语言3.0
- vertex array objects (VAOs)
- 三维纹理
- multiple render target(MRT)
- Texture access in vertex shaders
- 浮点数纹理
- 深度纹理
- texelFetch
- 采样器对象
- 一直缓冲对象
- 同步对象
- 查询对象
- 变换反馈对象
- Hardware Instancing
- immutable textures
- EXT_color_buffer_float
- Standard Derivatives
- Instanced Drawing
- Depth Textures (WEBGL_depth_texture)
- UNSIGNED_INT indices (OES_element_index_uint)
- Setting gl_FragDepth(EXT_frag_depth)
- Blend Equation MIN/MAX (EXT_blend_minmax)
- Direct texture LOD access (EXT_shader_texture_lod)
- Multiple Draw Buffers (WEBGL_draw_buffers)
- Non-Power of 2 Texture Support
- Floating Point Framebuffer Attachments
总结
可以看出WebGL2 相比于WebGL有很多新玩意;事实上WebGL2是基于OpenGL ES 3.0,很多新的特性是从OpenGL ES 3.0而来的。 这么多新鲜的玩意东西,还不来尝尝鲜。 菜已陆续上桌,我们开动吧。