推荐榜 短消息 big5 繁体中文 找回方式 手机版 广 广告招商 主页 VIP 手机版 VIP 界面风格 ? 帮助 我的 搜索 申请VIP
客服
打印

[国外] WebGL描绘Web页面交互式三维动画渲染蓝图[2P]

购买/设置 醒目高亮!点此感谢支持作者!本贴共获得感谢 X 2

WebGL描绘Web页面交互式三维动画渲染蓝图[2P]

“不需要Flash,不需要Silverlight,浏览器本身就能做出性能不差的3D应用,甚至是像魔兽世界那样的大型在线3D游戏……”在现在看来,这只是梦想,不过,WebGL正在拉近梦想与现实间的距离……

  Web图形渲染的发展历程

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




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




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

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

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

  后来,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交互式三维动画,而且在任何平台上都能以同样的方式运作,这是多么巨大的改进!

点此感谢支持作者!本贴共获得感谢 X 2
TOP



当前时区 GMT+8, 现在时间是 2025-6-29 02:02