基本介紹
- 外文名:glDrawElements
- 套用領域:計算機
- 性質:圖元繪製函式
- 函式類型:OPENGL
關於glDrawElements的使用
函式原型為:
void glDrawElements( GLenum mode, GLsizei count,
GLenum type, const GLvoid *indices);
其中:
mode指定繪製圖元的類型,它應該是下列值之一,GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON.
count為以mode類型連線的頂點的總數,且根據不同的mode,count小於或等於單個mode類型圖元的頂點數*圖元數
type為索引值的類型,只能是下列值之一:GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT。
indices:指向索引存貯位置的指針。
glDrawElements函式能夠通過較少的函式調用繪製多個幾何圖元,而不是通過OPENGL函式調用來傳遞每一個頂點,法線,顏色信息。你可以事先準備一系列分離的頂點、法線、顏色數組,並且調用一次glDrawElements把這些數組定義成一個圖元序列。當調用glDrawElements函式的時候,它將通過索引使用count個成序列的元素來創建一系列的幾何圖元。mode指定待創建的圖元類型和數組元素如何用來創建這些圖元。但是如果GL_VERTEX_ARRAY 沒有被激活的話,不能生成任何圖元。被glDrawElements修改的頂點屬性在glDrawElements調用返回後的值具有不確定性,例如,GL_COLOR_ARRAY被激活後,當glDrawElements執行完成時,當前的顏色值是沒有指定的。沒有被修改的屬性值保持不變。