OpenGL值繪制三角形的方式常用的有三種,分別是GL_TRIANGLES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN,其效果如依次是:
從左起:第一個方式是GL_TRIANGLES,第二個是GL_TRIANGLE_STRIP,第三個是GL_TRIANGLE_FAN。(一般規定逆時針卷繞為正方向)
GL_TRIANGLES:每三個頂點繪制一個三角形,如果頂點數量不是3的倍數,則忽略最后一個或兩個頂點。
GL_TRIANGLE_STRIP:有兩種情況,
(1)當前頂點序號n是偶數時,三角形三個頂點的順序是(n - 2, n - 1, n )。
(2)當前頂點序號n是奇數時,三角形三個頂點的順序是(n - 1, n - 2, n)。
這兩種情況,保證了采用此種渲染方式的三角形頂點的卷繞順序。
例如:對於v2頂點,其序號為2,此時三個頂點的順序是(v0, v1, v2);對於v3頂點,其序號為3,此時三個頂點的順序是(v2, v1, v3),均是逆時針卷繞。
GL_TRIANGLE_FAN:一系列頂點中的第一個點為中心點,其他頂點為邊緣點,繪制一系列組成扇形的相鄰三角形。例如三角形(v0, v1, v2)、(v0, v2, v3)。