轉自原文 有關於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