浏览器技术新趋势——WebGL

http://blog.pchome.net/article/188052.html

http://www.chromi.org/archives/3697

引用:http://saintrick.blog.163.com/blog/static/98825474201035114256573

 

 

WebGL通过Web页面调用OpenGL

默认分类 2010-04-05 23:42:56 阅读62 评论0   字号:   订阅

 Web图形渲染的革命

  图形行业标准协会Khronos集团透露:Web页面调用OpenGL的标准——WebGL即将完成,并将于2010年初正式发布。这条貌似不起眼的、充满了技术化背景的新闻,很快引起了业界的巨大反响,因为它将给浏览器带来巨大的用户体验方面的影响。

  Web应用不断扩大的市场份额显示着它在未来的重要性,而图形元素则是任何一张有吸引力的Web页面都不可或缺的。随着Web应用的进一步复杂化,普通的平面静态图形已不能满足应用的需要。于是,用于Web页面的交互式三维动画应运而生。

   但早期的技术非常不成熟,比如Java Applet实现的简单交互式三维动画,不仅需要下载一个巨大的支持环境,而且画面非常粗糙,性能也很差。究其原因,就在于早期的这些交互式三维动画在做 图形渲染时,并没有直接利用到图形硬件本身所带的加速功能,也就是,即使安装了性能很高的显卡,对于Web页面的交互式三维动画的显示也起不了什么作用。

WebGL通过Web页面调用OpenGL - saintrick - 木青居

  现在主流的Web交互式动画由Flash等浏览器插件调用DirectX、OpenGL等操作系统图形接口实现图形渲染,调用了硬件加速。但缺点是必须下载插件

WebGL通过Web页面调用OpenGL - saintrick - 木青居

  WebGL直接以OpenGL接口实现HTML5的canvas标签调用,以统一的OpenGL标准,从Web脚本生成利用硬件加速功能的Web交互式3D动画的图形渲染

   后来,Adobe的Flash Player浏览器插件几乎在一夜之间,占据了Web交互式三维动画的半壁江山。和Java Applet不同的是,它直接利用操作系统提供的图形应用程序接口,来调用图形硬件的加速功能,实现了高性能的图形渲染。这么一来,交互式三维动画几乎可 以瞬间加载完成,而且对于相当复杂的交互和三维动画而言,它都表现不俗。

   可是,这样的解决方案也有不少的问题。首先,它是通过浏览器插件来实现的,这就意味着对于每种不同的操作系统和浏览器的组合,都需要下载特定版本的插 件,对于手持设备上运行的比较特殊的操作系统或浏览器,就可能没有对应版本的插件;其次,对于操作系统上的图形应用程序接口的调用,它并不是遵循一个公开 的标准。比如,在Windows平台上,Flash是通过调用DirectX来实现,而在Mac OS X上则是调用AGL。

   这两点不足,很大程度上限制了Web交互式三维动画的应用范围。微软推出的Silverlight,本质上也无法解决这个问题。因此,开发一种无需浏览 器插件支持、通过统一的图形应用程序接口调用来实现Web交互式三维动画图形渲染的技术,就变得很有必要,而这正是WebGL的革命意义所在。

   尽管HTML5中引入了canvas标记,这个标记本身支持Web交互式三维动画的制作,但是,如果没有WebGL的支持,它并不能调用图形硬件加速功 能。因此,此前虽然很多浏览器支持canvas标记,但由于性能不够好,无法得到广泛的应用。可是,一旦加入了WebGL的支持,它的面貌就焕然一新了。

  WebGL完美地解决了现有的Web交互式三维动画的两个问题:第一,它通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件支持;第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。

  这意味着,以后不需要再通过任何浏览器插件,仅仅用HTML和Javascript,就可以制作出性能丝毫不亚于现在用Flash、Silverlight等做出来的Web交互式三维动画,而且在任何平台上都能以同样的方式运作,这是多么巨大的改进!

  浏览器巨头反应不一

   率先宣布在浏览器引擎中加入WebGL支持的,是作为苹果Safari和谷歌Chrome浏览器基础的WebKit引擎。谷歌Chrome近期发布的最 新版本3中,就包含了这个引擎。而Firefox也不甘示弱,紧跟其后在自己的Gecko引擎中加入了对WebGL的支持,虽然还没有正式发布,但 Firefox已经在产品页面中大力宣传了这个新特性。

   而微软对此则反应较为冷淡,微软的有关人员曾提到“浏览器插件的模式将长期存在,微软的Silverlight产品的最新版本已经可以在各种主流平台, 包括非微软操作系统的浏览器平台,以及各种主流手持设备上使用”。事实上,由于WebGL和OpenGL都是开源组织的产品,这也就注定了微软对它的反应 会比较谨慎。

   微软的Internet Explorer浏览器采用的是Trident引擎(又称MSHTML),已经有很多年历史,最近刚刚经历了数次重写以支持新的Internet Explorer 7和8以及在开发过程中的9。以微软自家产品大一统的思想,对于这种别的行业协会标准,反应从来都是比较落后的。然而,Windows Mobile最近的销售遇到了较大问题,这和它封闭式的浏览器体验不能不说没有关系。

  而采用了独立式的Presto引擎的浏览器厂商Opera,表示自己会“非常关注”WebGL,但并未明确表示会在什么时候加入对它的支持。

  WebGL带来的新未来

   由于WebGL是一个开放式的标准,它的出现将打破现有的浏览器图形插件的市场格局。原先下载Flash和Silverlight似乎是并不需要理由的 事,可是现在根本不需要它们也可以一样实现高性能的Web交互式三维动画,那么,是否要下载、下载哪些插件就成了一种选择。

   可以预见,大量带有Web交互式三维动画的网页会推出“无插件版本”,而对于那些在单位上网,没有管理员权限以安装插件的用户,或是使用的设备比较特 别,没有对应插件版本的用户来说,WebGL是个福音,现在他们可以和所有人一样,打开浏览器就能享受Web交互式三维动画提供的丰富Web应用了。

  对于Web开发人员来说,这意味着页面内容开发成本的进一步降低,他们可以很容易地做到同一段代码在跨平台体验上的一致性。大量的基于WebGL的库的出现,也会把在桌面应用中的开发经验很好地迁移到Web应用的开发中去。

  最重要的是,由于Web交互式三维动画成了页面的一部分,而不是作为单独的一个插件而存在,它与页面上其他内容的交互性就会更强。对于网络社区和大型在线游戏来说,这是必不可少的。

   相信在不久的将来,利用WebGL,我们在浏览器里就可以玩到像《魔兽世界》这样的大型在线游戏,而且它是跨平台、跨浏览器的。一句话,那就是 WebGL的出现使得桌面应用和Web应用的距离进一步缩小,而对于Web未来的想象空间则进一步扩大了。2010年,对于互联网来说,将是非常值得期待 的一年!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值