基本圖形

光柵化流程圖
從上面的渲染流程我們可以知道,GL中是先繪制好圖形的輪廓,再將顏色、圖案繪制到這個輪廓上的,所以,能畫什么樣的圖形至關重要。OpenGL ES中,只提供了3種基本圖形:點、線、三角形。而其他我們熟知的圖形,都是基于這3種基本圖形處理拼接合成的。
2.0版本渲染流程
OpenGL展示到屏幕上的流程
整體上,我將7個流程步驟拆解成了3大部分:
- 確定頂點的位置,通過這些頂點繪制出指定的圖形
- 為圖形上色,可以是純色、漸變彩色或者是圖片紋理
- 緩沖與展示:將上述的圖形加載到幀緩沖區(qū)(FrameBuffer)中,再展示到屏幕上。

渲染管道
開發(fā)重點
雖然渲染流程有很多個步驟,但是我們在開發(fā)OpenGL相關內容時,重點則是在頂點著色器、片段著色器、將數(shù)據(jù)傳遞給著色器3個環(huán)節(jié)上

OpenGL ES開發(fā)重點
基本概念
- PipeLine:渲染管道,是顯示芯片內部(GPU)處理圖形信號相互獨立的并行處理單元,也就是渲染流程。
- Shader:著色器、渲染器,用于描述如何繪制圖形圖像的具體環(huán)節(jié)。分為頂點著色器、片段著色器
- GLSL : OpenGL編寫著色器具體實現(xiàn)的編程語言,全稱 OpenGL Shader Language
OpenGL頂點坐標系

GL頂點坐標系
與Android中的Canvas或者屏幕坐標體系不同,GL的坐標起始位置在屏幕中心,(0,0)作為中心點,X坐標從左到右,Y坐標從下到上,在[-1,1]之間取值,再映射到屏幕上。而超出[-1,1]范圍的,將不會顯示在屏幕上。而無論屏幕是什么大小,什么形狀,坐標范圍都是不變的。如下圖。

頂點坐標系 - 變形
參考
見Android OpenGL ES學習資料所列舉的博客、資料。
GitHub代碼工程
本系列課程所有相關代碼請參考我的GitHub項目GLStudio。
課程目錄
本系列課程目錄詳見 簡書 - Android OpenGL ES教程規(guī)劃