纳金网

标题: WebGL 3D网页开发技术介绍 [打印本页]

作者: robert    时间: 2012-4-1 09:26
标题: WebGL 3D网页开发技术介绍




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接口实现的。




作者: 难骑    时间: 2012-4-1 11:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: .    时间: 2012-11-8 21:13
这是一个好帖子,大家快来围观!!





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5