OpenGL ES

OpenGL ES

徠OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API 的子集,針對手機、PDA和遊戲主機等嵌入式設備而設計。該API由Khronos集團定義推廣,Khronos是一個圖形軟硬體行業協會,該協會主要關注圖形和多媒體方面的開放標準。

簡介


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,引入了對可編程管線的支持。 OpenGL ES 還有一個safety-critical profile。

名字來源


OpenGL(全寫Open Graphics Library)是個定義了一個跨編程語言、跨平台的編程介面的規格,它用於三維圖象(二維的亦可)。OpenGL是個專業的圖形程序介面,是一個功能強大,調用方便的底層圖形庫。

演演算法標準


OpenGL- ES 是免授權費的,跨平台的,功能完善的2D和3D圖形應用程序介面API,主要針對多種嵌入式系統專門設計 - 包括控制台、行動電話、手持設備、家電設備和汽車。它由精心定義的桌面OpenGL子集組成,創造了軟體與圖形加速間靈活強大的底層交互介面。 OpenGL ES 包含浮點運算和定點運算系統描述以及 EGL針對便攜設備的本地視窗系統規範。OpenGL ES 1.X 面向功能固定的硬體所設計並提供加速支持、圖形質量及性能標準。OpenGL ES 2.X 則提供包括遮蓋器技術在內的全可編程3D圖形演演算法。OpenGL ES-SC 專為有高安全性需求的特殊市場精心打造。

版本介紹


OpenGL ES 2.0 概況
原始作者Khronos Group
開發者Khronos Group
穩定版本2.0/ 2007年3月5日
編譯語言C
操作系統Cross-platform
平台Cross-platform
類型API
支持平台、機型
- 支持iPad, iPhone3GS 和後續版本,以及iPodTouch3代和後續版本。
- 支持Android平台從Android 2.2版本開始。
- 支持Android NDK從Android 2.0版本開始。
- 支持BlackBerryPlayBook黑莓。
- 支持Pandora潘多拉控制台的3D庫。
- 被WebGL支持:瀏覽器支持OpenGL
- 支持少數新款Nokia諾基亞手機,比如N900上的Maemo和N8上的Symbian3塞班3系統。
- 支持多款三星手機,包括Galaxy S和Wave。
- 使用開發插件可以支持Palm webOS。
- 支持Archos 愛可視上網本:70 IT, 101 IT
OpenGL ES 2.0
OpenGL ES 2.0是Khronos Group在2007年3月份制定的一種業界標準應用程序編程介面(API),可以大大提高不同消費電子設備的3D圖形渲染速度,在嵌入式系統上實現了全面可編程的3D圖形。 AMD的認證測試是在一套AMD Z430開發套裝上進行的,曾在今年的巴塞羅那全球移動大會上進行演示,也就是當時AMD發布了支持OpenGL ES 2.0的Z460圖形核心。在滿足了OpenGL ES 2.0規範的關鍵特性,並通過了大量嚴格測試后,AMD獲得了Khronos的認證。
備註:opengl es與android有著密切的關係,主要體現在這兩種介面的發展軌跡和研發公司。
OpenGL ES 3.0主要新功能有:
1、渲染管線多重增強,實現先進視覺效果的加速,包括遮擋查詢(Occlusion Query)、變緩反饋(Transform Feedback)、實例渲染(Instanced Rendering)、四個或更多渲染目標支持。
2、高質量ETC2/EAC紋理壓縮格式成為一項標準功能,不同平台上不再需要需要不同的紋理集。
3、新版GLSL ES 3.0著色語言,全面支持整數和32位浮點操作。
4、紋理功能大幅增強,支持浮點紋理、3D紋理、深度紋理、頂點紋理、NPOT紋理、R/RG單雙通道紋理、不可變紋理、2D陣列紋理、無二次冪限制紋理、陰影對比、調配(swizzle)、LOD與mip level clamps、無縫立方體貼圖、採樣對象、紋理MSAA抗鋸齒渲染器。
5、一 系列廣泛的精確尺寸紋理和渲染緩衝格式,便攜移動應用更簡單。
OpenGL ES工作組會在六個月內更新OpenGL ES採納者項目,提供廣泛的兼容性測試,並提供相關源代碼。
ARM、徠HI Corporation、Imagination、NVIDIA、高通、ZiiLABS等等都第一時間表達了對OpenGL ES 3.0的大力支持,其中ARM今天剛剛發布的第二代Mali-T600系列最新移動GPU就支持OpenGL ES 3.0。
2D/3D圖形知識產權IP提供商 Digital Media Professionals Inc. (DMP)也同時宣布,其基於可擴展SMAPH-S著色器的圖形IP產品系列也已支持OpenGL ES 3.0。