Translation
courtesy of SIS
OpenGL ES將2D/3D的繪圖技術帶入不同的行動裝置、應用與嵌入式顯示系統。
從Open GL淬取出來的免費2D/3D API
OpenGL® ES是一個從OpenGL淬取出來的低階、低容量的先進繪圖用API。在應用軟體與軟硬體引擊間,它提供了低階應用可用程式化介面(API)。
這份3D針對嵌入式系統所製定的繪圖API,能夠使3D繪圖與遊戲,在不同的行動裝置或是嵌人式系統間,應用非常便利。因為OpenGL ES (OpenGL for Embedded Systems)是基於OpenGL所發展出來的,它並不是一個新的技術。而OpenGL是一個廣泛運用在不同平台的繪圖API,OpenGL ES能夠運用OpenGL的資源,產生莫的南的綜效。
研發上的優勢
- 產業標準和免權利金
任何人都可以生產製作並販售相容於OpenGL ES的產品。在多數產業裡,OpenGL ES是一個真正開放、中立與跟平台的繪圖標準。具體而言,OpenGL ES讓開發人員能夠更專注在產品內容裡,而不需要花太多心力在適應各個平台上。
- 小容量與低耗電量
嵌入式系統的硬體規格有非常大的不同,從400Mhz、64MB
RAM的PDA到50MHz、1MB RAM的手機都有。面對這些不同的平台,OpenGL ES僅需要非常小的儲存容量、最低的頻寬且可同時適應整數與浮點運算。因此使用者可以輕易的將它放入系統裡。
- 軟硬體間連續繪圖
所定義的繪圖標準能夠在不同平台下使用,其中包含純硬體的繪圖晶片、運用CPU功能的純軟體或是CPU與硬體之間混合平台。這表示軟體開發者今天只要開發了一個3D引擊後,就可以和下一個世代的標準達到完全相容。
- 延伸和未來發展
OpenGL ES充許採用各種延伸指令的使用。透過API中的延伸指令集,你可以將硬體的特殊應用與OpenGL ES整合,或是在特殊平台上使用您特製的功能。當這些功能廣泛被使用後,將有可能成為下一代的標準。
- 簡單使用
根據OpenGL,OpenGL ES具有直覺性運用與邏輯性命令的架構。
- 充份的文件支援
因為OpenGL ES是基於OpenGL所發展,所以他有大量的教學書藉與無數的程式範列可供參考,這使得OpenGL ES可以很容易被使用。根據OpenGL ES的介紹,研發人員己經可以為手機甚至大型電腦製作程式範例。
OpenGL ES的架構
- 協定(profile):
由許多協定(profile)所組成。每一個協定通常是OpenGL 1.3的子集合加上額外的OpenGL ES 延伸指令集。每一個協定都能夠合OpenGL 1.3相容,因此在最後定案前,都可以根據市場需要做修改。每一個協定都有其專有的表頭(header
file)與連結/執行涵數(link/runtime
library)來相對應命令(command)與標誌(token)。只需要管理一個超集合(superset)表頭,就可以在執行合個標誌與命令前,做好有效的管理。應用軟體可以據此知道OpenGL的版本,以做出相對應的回應。
現在規格是由二個不同的協定所組成:一般協定(Common Profile)與緊急安全協定(Safety Critical Profile)。

- 一般協定(Common Profile)是為了消費者娛樂與各種硬體平台所製定,像是PDA,桌上盒或遊戲平台等等。它與各種不同的平台具有最大的相容性。
- 安全協定(Safety Critical Profile)是為了增加消費者與特殊應用產品之間的可靠度(reliability)與可證明度(certifiability)。
- 3D應用裡提供最佳的絕對安全性保證
- 運用航空與汽車的顯示技術
- 一致性(conformance)
相關規格每一年都會重新檢討修定。如果想要在產品上繼續註明與OpenGL
ES相容的話,必需通過每一項測試。這些一致性測試將會持續加入各個OpenGL ES的文件裡。
- 延伸指令集(Extensions)
OpenGL ES能夠加入延伸指令集以增加新的功能。OpenGL
ES也提供了一份延伸指令集供廠商選擇是否使用。這份標準的延伸指令集是確保協定的一致性。當然,廠商也可以自行加入自己的延伸指令集。此自己的延伸指令集必需和符合協定的各種規範並且和協定完全相容。
- 平台介面層(Platform Interface Layer)-EGL
OpenGL ES也包含了平台介面層的規範,稱為EGL。這層介面和平台間是獨立的,廠商可以選擇是否將他放入自己的產品裡。整合平台當然也包含了一致性的測試。或是廠商也可以定義他自己的平台介面層。