glDrawElements 函式

glDrawElements函式會從陣列資料轉譯基本類型。

語法

void WINAPI 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和GL_POLYGON。

計數

要轉譯的專案數目。

type

索引中值的型別。 必須是其中一個GL_UNSIGNED_BYTE、GL_UNSIGNED_SHORT或GL_UNSIGNED_INT。

索引

索引儲存位置的指標。

傳回值

此函式不會傳回值。

錯誤碼

glGetError函式可以擷取下列錯誤碼。

名稱 意義
GL_INVALID_ENUM
mode 不是接受的值。
GL_INVALID_VALUE
count 是負值。
GL_INVALID_OPERATION
對 glBegin 的呼叫與 glEnd的對應呼叫之間呼叫函式。

備註

glDrawElements函式可讓您使用非常少的函式呼叫來指定多個幾何基本類型。 您可以事先指定頂點、常態和色彩的個別陣列,並使用它們來定義一連串的基本類型, (所有相同的類型) 與 glDrawElements的單一呼叫來定義基本類型。

當您呼叫glDrawElements函式時,它會使用索引中的循序元素建構幾何基本類型的序列。 mode參數會指定建構何種基本類型,以及如何使用陣列元素來建構這些基本類型。 如果未啟用GL_VERTEX_ARRAY,則不會產生幾何基本類型。

glDrawElements所修改的頂點屬性在glDrawElements傳回之後具有未指定的值。 例如,如果已啟用GL_COLOR_ARRAY, 則 glDrawElements 執行之後,目前色彩的值會未定義。 未修改的屬性會保持不變。

您可以在顯示清單中包含 glDrawElements 函式。 當 glDrawElements 包含在顯示清單中時,必要的陣列資料 (由陣列指標決定,並啟用) 也會輸入到顯示清單中。 因為陣列指標和啟用是用戶端狀態變數,所以當建立清單時,其值會影響顯示清單,而不是執行清單時。

注意

glDrawElements函式僅適用于 OpenGL 1.1 版或更新版本。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll

另請參閱

glArrayElement

glBegin

glColorPointer

glDrawArrays

glEdgeFlagPointer

glEnd

glGetPointerv

glIndexPointer

glNormalPointer

glTexCoordPointer

glVertexPointer