glVertexPointer 函式

GlVertexPointer 函式會定義頂點資料的陣列。

語法

void WINAPI glVertexPointer(
         GLint   size,
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

參數

size

每個頂點的座標數目。 大小 的值必須是2、3或4。

type

陣列中每個座標的資料類型,使用下列符號常數: GL _ SHORT、gl _ INT、gl _ FLOAT 和 gl _ DOUBLE。

大步

連續頂點之間的位元組位移。 當 stride 為零時,就會將頂點緊密地封裝在陣列中。

指標

陣列中第一個頂點的第一個座標指標。

傳回值

此函式不會傳回值。

錯誤碼

GlGetError函式可以取出下列錯誤碼。

Name 意義
GL _ 無效 _ 值
大小 不是2、3或4。
GL _ 無效 _ 列舉
類型 不是可接受的值。
GL _ 無效 _ 值
stride計數 為負數。

備註

GlVertexPointer 函式會指定要在轉譯時使用之頂點座標陣列的位置和資料。 Size 參數指定每個頂點的座標數目。 Type 參數指定每個頂點座標的資料類型。 Stride 參數會決定從某個頂點到下一個頂點的位元組位移,以便將單一陣列或儲存區中的頂點和屬性封裝成不同的陣列。 在某些情況下,在單一陣列中儲存頂點和屬性,會比使用不同的陣列更有效率 (請參閱 glInterleavedArrays) 。

當您 _ _ 使用 glEnableClientState指定 GL 頂點陣列常數時,會啟用頂點陣列。 啟用時, glDrawArraysglDrawElementsglArrayElement 會使用頂點陣列。 預設會停用頂點陣列。

您無法在顯示清單中包含 glVertexPointer

當您使用 glVertexPointer 指定頂點陣列時,所有函式之頂點陣列參數的值都會儲存在用戶端狀態中,而且可以快取靜態陣列元素。 因為頂點陣列參數是用戶端狀態,所以它們的值不會由 glPushAttribglPopAttrib 儲存或還原。

雖然在 glBeginglEnd配對內呼叫 glVertexPointer 時不會產生任何錯誤,但結果未定義。

下列函式會取出與 glVertexPointer 相關的資訊:

具有引數 GL _ 頂點 _ 陣列 _ 大小的 glGet

具有引數 GL _ 頂點 _ 陣列 _ STRIDE 的 glGet

具有引數 GL _ 頂點 _ 陣列 _ 計數的 glGet

具有引數 GL _ 頂點 _ 陣列 _ 類型的 glGet

具有引數 GL _ 頂點 _ 陣列 _ 指標的 glGetPointerv

具有引數 GL _ 頂點 _ 陣列的 glIsEnabled

規格需求

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

另請參閱

glArrayElement

glColorPointer

glDrawArrays

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glTexCoordPointer