圖元連接方式
圖元連接方式九火,將決定我們的圖形展示出來是什么樣子:
圖元連接方式 | 釋義 |
---|---|
GL_POINTS | 每個(gè)頂點(diǎn)在屏幕上都是單獨(dú)點(diǎn) |
GL_LINES | 每一隊(duì)頂點(diǎn)定義一個(gè)線段 |
GL_LINE_STRIP | 將所有頂點(diǎn)連接起來 |
GL_LINE_LOOP | 跟GL_LINE_STRIP差不多字旭,多了首尾相連 |
GL_POLYGON | 將點(diǎn)依序連接起來 |
GL_QUADS | 每四個(gè)頂點(diǎn)連接在一起缝裤,構(gòu)成四邊形 |
GL_QUAD_STRIP | 四點(diǎn)頂點(diǎn)相連罩旋,每次復(fù)用前四個(gè)點(diǎn)的最后兩個(gè)頂點(diǎn) |
GL_TRIANGLES | 每三個(gè)頂點(diǎn)連接在一起诉探,確定一個(gè)正方形 |
GL_TRIANGLE_STRIP | 三個(gè)頂點(diǎn)連在一起徘铝,每次復(fù)用上一組的最后兩個(gè)點(diǎn) |
GL_TRIANGLE_FAN | 以第一個(gè)頂點(diǎn)為中心文兑,每次復(fù)用頂點(diǎn)和相鄰的上一個(gè)點(diǎn)構(gòu)成三角形 |
圖元連接方式
立體圖形的實(shí)現(xiàn)丰滑,同一視口下視圖切換
實(shí)現(xiàn)的效果如下:
利用圖元連接顾犹,實(shí)現(xiàn)不同的圖形并做出旋轉(zhuǎn)
基礎(chǔ)框架與基本函數(shù)設(shè)置可以參考OpenGL渲染正方形,并實(shí)現(xiàn)移動(dòng)
實(shí)現(xiàn)思路
由于我們的圖元連接方式不同,當(dāng)構(gòu)成立體圖形的時(shí)候炫刷,我們可能不能直接觀察出這個(gè)立體圖形擎宝。所以我們調(diào)用
void DrawWireFramedBatch(GLBatch* pBatch)
函數(shù)將每兩點(diǎn)頂點(diǎn)連線進(jìn)行不同顏色的著色,使我們更容易看出立體圖形浑玛。
壓棧思路
我們利用矩陣變化來完成圖形的旋轉(zhuǎn)认臊。我們的模型矩陣需要結(jié)合觀察者矩陣和物體矩陣(mvp)來確定旋轉(zhuǎn)后的圖形渲染到屏幕上的頂點(diǎn)左邊位置。這其中產(chǎn)生變化的只有觀察者矩陣和物體矩陣锄奢。我們的模型矩陣是固定的失晴,所以這里引入了,壓榨思想拘央。位于棧底的是我們的單元矩陣x模型矩陣涂屁。棧頂?shù)氖俏覀兘Y(jié)合觀察者矩陣和物體矩陣不斷變幻的模型矩陣。我們使用最終變化好的模型矩陣來做視圖渲染灰伟。最后調(diào)用
PopMatrix
拆又,又可以還原我們的模型矩陣。
最后附上demo立體圖形的實(shí)現(xiàn)及移動(dòng),
有不足之處請(qǐng)多指教栏账,共勉帖族。