在我們進行圖形化開發(fā)的時候經(jīng)常會使用圖形API進行開發(fā),首先我們對市面上的圖形API進行一些簡單的介紹。
1.OpenGL(Open Graphic Library):
它是一個跨編程語言、跨平臺的編程圖形程序接口,它將計算機的資源抽象成為一個個OpenGL的對象,并且對這些資源的操作抽象為一個個的OpenGL指令。
2.OpenGL ES(OpenGL for Embedded System):
它是OpenGL三維圖形API的子集,它正對手機、PDA和游戲主機等嵌入式設(shè)備而設(shè)計,并去除了許多不必要和性能較低的API接口。
3.DirectX:
它是由很多API組成的,他并不是一個單純的圖形API。最重要的DirectX是屬于Windows上一個多媒體處理API,且不支持除Windows意外的平臺。所以不是跨平臺框架,按照性質(zhì)分類,可以分為四大部分,顯示部分、聲音部分、輸入部分和網(wǎng)絡(luò)部分。
4.Metal:
在2014年Apple 正式推出 Metal 推出的,醞釀了很久,卻遲遲沒有進展。直到WWDC 2018,Apple 宣布 iOS 12 將棄用 OpenGL / CL而使用Metal。該技術(shù)能夠為3D圖像提高10倍的渲染性能。Metal是Apple為了解決3D渲染兒推出的框架。
那么圖形API目的是用來解決什么問題呢?
A.比如在游戲開發(fā)中,對于游戲場景/游戲人物的渲染
B.比如在音視頻開發(fā)中,對于視頻解碼后的數(shù)據(jù)渲染
C.比如在地圖引擎,對于地圖上的數(shù)據(jù)渲染
D.比如在動畫中,實現(xiàn)動畫的繪制
E.比如在視頻處理中,對于視頻加上濾鏡效果
OpenGL/OpenGL ES/Metal 在任何項目中解決問題的本質(zhì)就是利用GPU新品來高效渲染圖形圖像。圖形API是我們iOS開發(fā)者唯一操作GPU的方式。