OpenGL ES Programming Guide for iOS 第一章

關於OpenGL ES

Open Graphics Library(OpenGL)用於二維及三維數據的可視化。它是一種多用途的開放標準圖形庫,支持二維和三維數位內容創作,機械和建築設計,虛擬樣,飛行模擬,遊戲,以及更多的應用。OpenGL允許應用程序開發人員配置3D圖形管線,並提交數據。頂點是可轉換及照明,組裝原函數,創建2維圖像。OpenGL被設計爲翻譯函數呼叫爲圖形命令並送至底層圖形裝置硬件。


因爲底層硬件專門處理圖形命令,所以OpenGL繪圖非常快。

OpenGL for Embedded Systems (OpenGL ES)是OpenGL的一個簡化版本,消除冗餘的功能並提供一個庫,既容易學習也容易實踐在移動裝置上。

 

一覽

Apple 提供OpenGL ES 1.1 與 OpenGL ES 2.0:

●OpenGL ES 1.1實踐了一個明確的固定功能的管線。它實踐傳統照明及陰影模式並允許在每個階段配置以執行特殊任務或關閉不需要的功能。

●OpenGL ES 2.0 與OpenGL ES 1.1有很多相同通用功能,但移除了所有關於固定頂點及流水線階段的功能。相反的,它提供了存取通用著色器(shader)管線的新功能。著色器允許你自定頂點及片段功能,並直接在圖形硬件上執行。使用著色器,你的應用可以更清楚的自定每一個頂點跟片段的管線輸入及計算。

 

OpenGLES 是基於C語言, 與平臺無關的應用程序接口

因爲OpenGLES是基於C的應用程序接口,所以非常容易移植及廣泛支持。作爲C應用程序接口,可與基於Objective-C的CocoaTouch應用程序無縫集成。OpenGLES規範中並沒有聲明窗口層,主操作系統需提供功能創建OpenGLES宣染內文(renderingcontext),用以接受命令及創建偵緩存(framebuffer)用來繪製命令結果。

相關章節OpenGL ES on iOS(13), Configuring OpenGL ES Contexts(20)

OpenGLES 被整合進 Core Animation

Core Animation是iOS圖形基礎,包含了應用程序顯示在螢幕上的OpenGL ES內容。 當你開發OpenGL ES應用程序,OpenGL ES內容會被繪製在一個特殊的Core Animation層,這個層被稱爲CAEAGLLayer對象。用OpenGLES繪製的圖片會被儲存在CAEAGLLayer中。CoreAnimation組合其它層的圖形內容並顯示最後結果在螢幕上。

相關章節 Drawing With OpenGL ES(28)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章