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:
沒有留言:
張貼留言