WebKit新特性WebGL

背景
News:WebGL标准让网页能用3D硬件加速进行渲染,上周[2009年9月19日]Safari和Google Chrome浏览器使用的渲染引擎WebKit,初步加入了WebGL支持。另一个开源浏览器Firefox不想让WebKit独秀,它最新的Nightly Build预览版同样加入了WebGL支持。


什么是WebGL
Web+GL 这二者相加的结果是一整套针对浏览器的3D图形硬件加速解决方案,类似于Google O3D [http://code.google.com/apis/o3d/],后者是 Google为了丰富网页的3D体验(整合进Chrome浏览器)而开发的Open-Source图形硬件加速技术。WebGL的主要发展方向是整合JavaScript和OpenGL ES 2.0,而JavaScript将成为其主要的瓶颈,它无法高效的处理大量的数据运算。当然这些仅仅是以目前的条件来分析,相信不久的将来针对于运算效率的问题将会有很大改善。现在在WebKit中已经加入了WebGL的支持,可以checkout出来看一下testcase:svn co http://svn.webkit.org/repository/webkit/trunk/WebCore/manual-tests/webgl webgl,前提是你已经安装了SVN了。

 

WebKit新特性WebGL_第1张图片

 

为什么是WebGL
优势:
1.无需插件,直接支持3D图形的GPU硬件加速。
2.开放性,Adobe Flash 10、微软Silverlight 3.0也都已经支持GPU加速,但它们都是私有的、不透明的。
3.WebGL可以为HTML5 Canvas提供硬件3D加速渲染,在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。
劣势:
1.因为OpenGL ES 2.0并没有被大多数的硬件平台所支持,所以将会导致很多设备无法运行WebGL。
2.因为OpenGL ES 2.0对JavaScript的依赖程度达到了100%,其利用JavaScript来处理应用程序的场景绘图,应用会因为JavaScript的计算瓶颈而受到不同程度的限制。
3.WebGL并没有积极的去解决数据导入问题。目前为止,仅仅可以利用IMG tags来嵌入材质信息,暂不支持DXT图片压缩格式(而DXT已经被大多数的3D显卡硬件所支持)。
4.统一?苹果和Google都是Khronos Group组织的成员,因此他们的Safari、Chrome等WebKit核心浏览器获得这种3D GPU加速特性应该是水到渠成的了,但是Mozilla、Opera虽然在核心引擎上走的是另一条路,但也积极支持创建3D Web图形开放标准,IE的支持性还不清楚。

 


WebGL是鸡肋吗?
先看一张效果图:TestCase中的Earth

WebKit新特性WebGL_第2张图片


未来遇到实际问题时,都是要根据实际情况来选择适用的解决方案。在这里没有谁有压倒性的优势,都各有利弊。对于开发者来讲,追求效率的同时,可以在要求不够严格的情况下选择最易上手的工具,缩短开发周期。

你可能感兴趣的:(WebKit)