认识WebGL
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
WebGL是一个跨平台、免费的底层3D绘图API的Web标准,它基于OpenGL ES 2.0标准。WebGL是网页上渲染三维图形图像的技术,它本身是HTML5规范的一部分。WebGL通过HTML5 Canvas元素对外暴露DOM编程接口。
WebGL全称是Web-based Graphics Language,它提供了使用JavaScript与GPU交互的方法。
让我们来回顾一下在WebGL诞生之前的情况。在没有WebGL的日子,我们要在网页上实现三维图形的显示,该怎么办?
当然,首选的是Adobe公司的Flash技术。有了Flash技术,我们可以在网页上显示2D/3D图像,以及动画。但是,浏览器是不能直接显示Flash内容的,于是需要安装插件——Flash Player。
其次就是微软的Silverlight技术,俗称“银光”,银光技术与Flash技术相似,功能也是同样的强大,遗憾的是,银光技术同样的需要在浏览器上安装插件。
除此之外,还有一些非主流的技术,这些技术都不如Flash或者Silverlight,而且同样的都有需要浏览器安装插件的缺点,因此就不再一一列举了。
WebGL是一个伟大的技术,它使得浏览器摆脱了需要插件的麻烦,可以可以让网页渲染直接调用显卡GPU来搞定,大大加快了网页显示的速度,而且编程接口使用的是统一、标准、跨平台的OpenGL接口实现。WebGL技术一出现,就引起了全球的关注,国际主流的IT公司包括Apple、Google、微软等都纷纷支持WebGL规范,推动了WebGL技术的发展。
对于很多想要学习WebGL的爱好者来说,最关心的话题莫过于WebGL该怎样学习,如何才能做到掌握、精通WebGL技术。对于这一点,我总结了一些思路,供大家参考。
要学习WebGL,需要循序渐进的掌握以下内容:
0)熟悉最好是精通JavaScript语言
1)理解模型视图矩阵,以及怎样设置场景
2)掌握渲染和操纵原语
3)理解着色器,精通着色器的功能
4)掌握创建虚拟场景的技术
5)掌握使用基本的物理规则来模拟互动
6)熟悉使用数学模型来渲染粒子系统、地形以及不规则碎片
7)掌握Three.js框架
8)熟悉GLGE和philoGL框架
9)积累WebGL的调试技巧和性能优化技巧
10)熟悉WebGL规范《WebGL编程指南》是博文视点推出的、国内第一本描述WebGL技术的专著,对于需要这方面资料的爱好者来说,你们没有其他选择,只能看这个。这本书我也没看,所以也无从点评其内容。不管怎么样,作为一个新技术的“布道者”或者是“指引者”,这本书还是值得买来一读的。