WebGL和3D图形规范OpenGL、通用计算规范OpenCL一样来自Khronos Group,而且免费开放,并于2010年上半年完成并公开发布。Adobe Flash Player 11、微软Silverlight 3.0也都已经支持GPU加速,但它们都是私有的、不透明的。WebGL标准工作组的成员包括AMD,爱立信,谷歌,Mozilla,Nvidia以及Opera等,这些成员会与Khronos公司通力合作,创建一种多平台环境可用的WebGL标准,预计WebGL标准会在2011年上半年首度公开发布,该标准将完全免费对外提供。 WebGL完美地解决了现有的Web交互式三维动画的两个问题:第一,它通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件支持;第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。 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技术的专著,对于需要这方面资料的爱好者来说,你们没有其他选择,只能看这个。这本书我也没看,所以也无从点评其内容。不管怎么样,作为一个新技术的“布道者”或者是“指引者”,这本书还是值得买来一读的。 webgl是HTML5中提出的新技术,是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,关于它的教程可以看看 。目前是以webgl为基础的库,封装了一些3D渲染需求中重要的工具方法与渲染循环。它的教程同样可以在 里面找到。 |
|