转自原文 有关于OpenGL、OpenGL ES、WebGL的小结 javascript
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图西象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。php
关于其余的介绍我就不说了。这边我说一下有OpenGL的资源网站:html
OpenGL官网:http://www.opengl.org/resources/libraries/glut/html5
NeHe网站:http://nehe.gamedev.net/java
优良的OpenGL教程:http://www.zwqxin.com/archives/opengl/tutorial-recommendation.htmlandroid
能够这么说,OpenGL ES是OpenGL的嵌入式版本,OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。web
OpenGL ES的版本差别,主要有两个版本,一个是OpenGL ES 1.X,一个是OpenGL ES 2.0版本,2.0的版本是不兼容1.x版本,由于一个是固定功能的管线(1.x),另外2.0是可编程功能管线,因此不少都不同,来看看百科是怎么介绍的。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了 glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。通过多年发展,如今主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件。OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,它们分别又支持 common 和 common lite两种profile。lite profile只支持定点实数,而common profile既支持定点数又支持浮点数。 OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的,common profile发布于2005-8,引入了对可编程管线的支持。 编程
支持的平台:浏览器
- 支持iPad, iPhone3GS 和后续版本,以及iPodTouch3代和后续版本。编程语言
- 支持Android平台从Android 2.2版本开始。
- 支持android NDK从Android 2.0版本开始。
- 支持BlackBerry PlayBook黑莓。
- 支持Pandora潘多拉控制台的3D库。
- 被WebGL支持:浏览器支持OpenGL
- 支持少数新款Nokia诺基亚手机,好比N900上的Maemo和N8上的Symbian3塞班3系统。
- 使用开发插件能够支持Palm webOS。
- 支持Archos 爱可视上网本:70 IT, 101 IT
opengl es与android有着密切的关系,主要体如今这两种接口的发展轨迹和研发公司。
目前有关于OpenGL ES 2.0的材料仍是蛮少的,就只有一本书介绍(OpenGL ES 2.0 Programming Guide)是英文版,我有买了一本书,其实不会很难看懂。你要学习OpenGL ES 最好先把OpenGL 和 OpenGL Shading Language了解一下,毕竟这是基础的知识内容。
OpenGL ES 书的网站:http://www.opengles-book.com/downloads.html
WebGL是一种3D绘图标准,这种绘图技术标准容许把JavaScript和OpenGL ES 2.0结合在一块儿,经过增长OpenGL ES 2.0的一个javascript绑定,WebGL能够为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就能够借助系统显卡来在浏览器里更流畅地展现3D场景和模型了,还能建立复杂的导航和数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于建立具备复杂3D结构的网站页面,甚至能够用来设计3D网页游戏等等。
WebGL完美地解决了现有的Web交互式三维动画的两个问题:第一,它经过HTML脚本自己实现Web交互式三维动画的制做,无需任何浏览器插件支持;第二,它利用底层的图形硬件加速功能进行的图形渲染,是经过统一的、标准的、跨平台的OpenGL接口实现的。
其实我有作了一个WebGL的例子,是用WebGL画了一个色立体,固然目前还很粗糙,简单的来讲,它就是html5+OpenGL ES的组合,可是Html5还不成熟,因此关于WebGL的不少例子还只是在不成熟的DEMO上,可是我想这在之后还一种趋势,固然IT业谁也说不清楚,WebGL能够说是OpenGL的网页版,目前关于WebGL的书籍仍是没有的,官网有一个是学习WebGL的教程,固然是英文了。。呵呵
目前IE还不支持WebGL,有FireFox还有谷歌浏览器等支持。。。
10大WebGL应用演示网站案例http://www.fadianzhan.com/index.php/archives/208