- 最后登录
- 2013-6-5
- 注册时间
- 2011-12-3
- 阅读权限
- 90
- 积分
- 6206
- 纳金币
- 6206
- 精华
- 0
|
WebGL是一套JavaScript API,允许开发者在浏览器中直接嵌入支持硬件加速的互动3D图形,而且完全是在浏览器中实现,无需任何插件。
WebGL是由Khronos Group开发的开放的web标准,Google、Apple、Mozilla和Opera等都是其中的成员,即这一标准的制定者和积极倡导者。WebGL是通过HTML5中的<canvas>标签中一个特殊的上下文(experimental-webgl)实现在浏览器中的,因此WebGL也可以与所有DOM接口完全整合到一起。而WebGL API是基于OpenGL ES 2.0的,是OpenGL ES 2.0的子集,所以WebGL可以运行于许多不同的硬件设备之上,例如桌面电脑、智能手机、平板电脑和智能电视。在Khronos的网站上可以找到WebGL的全部规范。
WebGL可以用来做什么呢?开发者可以通过WebGL在浏览器中实现实时的3D互动图形,应用于互动音乐电视、游戏、数据可视化、艺术、3D设计环境、3D空间建模、3D物体建模、绘制数学函数和创建物理模拟。
由于WebGL是被设计成直接工作在显卡端,所以WebGL比目前其他的典型的web技术都要更加复杂。在硬件层次上它是低等级的,这也正是它为什么能够如此迅速的完成大量的计算,并实现复杂的实时3D渲染的原因。
在WebGL中编程,通常的目标都是想要渲染某种场景。这其中包括多重并发的绘制工作,称之为绘制调用(draw call),这些调用都是在GPU端通过一个叫做渲染管线(Rendering Pipeline)的处理流程来实现的。在WebGL中,和其他大多数实时3D图形系统一样,三角形是用于绘制模型的最基本的元素。因此,在WebGL中需要通过使用JavaScript来生成绘制信息,这些绘制信息包括指定在什么位置绘制三角形、如何绘制三角形、这些三角形的外观长的什么样子(颜色、形状、纹理等等)。然后将这些信息传递给到GPU端,GPU进行处理,最后再返回绘制结果。
要运行WebGL,你必须有一个支持它的浏览器。例如:
Google Chrome 9及以上版本
Mozilla Firefox 4以及上版本
Safari 5.1及以上版本(仅限于Mac OS X操作系统,不包括Windows操作系统)
Opera Next 即Opera 12 alpha及以上版本
同时还需要一块好的显卡,如果你的显卡非常老旧,或者是板载的集成显卡,那么你需要在浏览器中强制开启WebGL支持。
微软的IE不支持WebGL,不过可以通过下载并安装IEWebGL这个插件,或者Google Chrome Framework来运行一些WebGL应用。
WebGL是一项在网页浏览器上呈现3D画面的技术,有别于需加装浏览器插件。透过WebGL的技术,只需要编写网页代码即可实现3D图像的展示。WebGL的规范尚在发展中,免费开放。
WebGL完美地解决了现有的Web交互式3D动画的两个难题:第一,它通过HTML脚本本身实现Web交互式3D动画的制作,无需任何浏览器插件支持。第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。
|
|