BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

ANGLE为在Windows下进行WebGL渲染提供了便利

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 侯伯薇 关注 0 他的粉丝 发布于 2010年3月30日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

为了渲染本地Chrome中的3D图形,Google使用的是WebGL。这样做的问题在于WebGL依赖于OpenGL 2.0,而并非所有的Windows系统都安装了它的驱动。ANGLE (近似本地图形层引擎 Almost Native Graphics Layer Engine)项目试图在WebGL和DirectX之间建立简单的层,用来支持Chrome在任意Windows系统中都可以处理3D图形。

WebGL(Web图形库)是

一种基于OpenGL ES 2.0、跨平台、免版税的针对低级3D图形API的web标准,它通过HTML5 的Canvas元素暴露出来,作为文档对象模型(Document Object Model)的接口。熟悉OpenGL ES 2.0 API的开发者会发现,WebGL使用的是GLSL基于着色的API,它在语义上与底层的OpenGL ES 2.0 API拥有类似的结构。它与OpenGL ES 2.0的规格非常相近,只是其中有一些为期望在内存托管语言,像JavaScript,之外使用它所做的特别处理。

实际上,WebGL让浏览器具备了在本地处理3D图形的能力,而所有主要的浏览器厂商——Apple、Google、Mozilla以及Opera等等——都是WebGL工作组的成员,Khronos组(一个非盈利的协会)的成员中,一部分是推动者:AMD、Apple、ARM、Intel、Motorola、Nokia、NVIDIA、Sun、德州机器,还有很多贡献者:创新、戴尔、EA、Google、IBM、Opera、Mozilla,以及许多其它与图形领域有关系的公司。

WebGL是在Gecko 1.9.3中引入的图形特性,它将会在Firefox 3.7中发布Khronos指出在Max OS X 10.6的WebKit每夜构建中会支持WebGL。另外,它也被包含在所有的Chromium版本和Chrome开发版本中。当前在Opera中还没有为WebGL提供支持,但据来自Khronos的消息,那是指日可待的。

但是存在这样的问题,当前对WebGL的实现是基于OpenGL 2.0运行的,而并非所有Windows的机器上都会安装它的驱动,或者对于某些图形卡来说根本就不存在。这使得在这样的系统中我们无法通过WebGL进行3D渲染。而这也正是Google使用ANGLE所要解决的问题,它会在WebGL和DirectX之间创建简单的层,用来在Windows中不依赖于OpenGL驱动来支持Chrome进行3D渲染。

ANGLE还会帮助开发者在Windows中创建原型,并且也将手机和嵌入式系统作为将来的目标,因为OpenGL ES本来就是专门针对这样的系统所设计的。ANGLE已经基于新的BSD许可公开了源码。

查看英文原文:Doing WebGL Rendering on Windows with ANGLE

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

呵呵 by 刘 建军

会不会有朝一日,可以在浏览器上玩魔兽世界啊

不好的预感 by Wei Fisher

貌似那个组织没有微软

到底是 OpenGL 2.0 还是 OpenGL ES 2.0? by 典 刘

这两个差别可老大了。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT