2015年4月6日 星期一

Android 魔術方塊開發筆記(三) 繪製多邊形



1.繪製多邊形有以下三種方法:


上圖的數字代表繪圖的順序
也就是我們給OpenGL  ByteBuffer的順序

跟三角形一樣
先定義出正方形四個點的座標
然後其餘程式碼不變


對照上圖,top left 為編號1
                    bottom left 為編號2
                    bottom right 為編號3
                    top right 為編號4

依GL_TRIANGLE_FAN 的繪圖次序就會繪製出一個正方形
以下分別為GL_TRIANGLES以及GL_TRIANGLE_STRIP的畫面 


如果要讓GL_TRIAGLES 也能顯示正方形,
需要在squareCoords[] 中加入bottom right, top left兩點
 
GL_TRIANGLE_STRIP則是squareCoords[]中的順序調一下即可

2.glDrawElements()

除了glDrawArrays()之外,
OpenGL還提供了另外一個繪製方法glDrawElements
這邊的順序就由我們自己來定義
跟vertex相同,需要一個byteBuffer將值傳給OpenGL


結果:



完整程式碼:

Source Code:
版本:a3ffd93481

Reference:


沒有留言:

張貼留言