這篇文章開(kāi)始, 我們一起來(lái)學(xué)習(xí)一下OpenGL ES, 首先學(xué)寫(xiě)這個(gè)框架需要有一定的OpenGL基礎(chǔ), 感興趣的可以看一下關(guān)于我之前寫(xiě)的關(guān)于OpenGL的幾篇文章.
什么是OpenGL ES? 和OpenGL有什么聯(lián)系呢?
OpenGL ES只是OpenGL的簡(jiǎn)化版本, 是已嵌入式設(shè)備為目標(biāo)的高級(jí)3D圖形應(yīng)用編程接口, 相當(dāng)于是OpenGL的子集, 支持iOS和Andriod等系統(tǒng)使用.
頂點(diǎn)著色器
處理每個(gè)頂點(diǎn)的操作, 包括位置變換, 光照, 紋理坐標(biāo)等處理.
頂點(diǎn)著?色器?之后,下?一個(gè)階段就是圖元裝配. 圖元(Primitive): 點(diǎn),線(xiàn),三?角形等.
圖元裝配
將頂點(diǎn)數(shù)據(jù)計(jì)算成一個(gè)圖元.在這個(gè)階段會(huì)執(zhí)行裁剪门粪、透視分割和 Viewport變換操作玄妈。
圖元類(lèi)型和頂點(diǎn)確定將被渲染的單獨(dú)圖元拟蜻。對(duì)于每個(gè)單獨(dú)圖元及其對(duì)應(yīng)的頂點(diǎn)枯饿,圖元裝配階段執(zhí)行的操作包括:將頂點(diǎn)著色?的輸出值執(zhí)?裁剪、透視分割搔扁、視口變換后進(jìn)入光柵化階段蟋字。
光柵化
在這個(gè)階段繪制對(duì)應(yīng)的圖元(點(diǎn)/線(xiàn)/三角形). 光柵化就是將圖元轉(zhuǎn)化成一組?維?段的過(guò)程. 而這些轉(zhuǎn)化的片段將由片元著??處理.這些?維?段就是屏幕上可繪制的像素.
片元著色器
處理每一個(gè)像素點(diǎn)的顏色和紋理填充.
逐片段操作(了解即可)
以上所有步驟只有頂點(diǎn)著色器和片元著色器是我們可以用代碼控制的.
下一篇文章我們來(lái)簡(jiǎn)單了解一下蘋(píng)果為我們封裝的GLKit的簡(jiǎn)單使用.