glTexCoordPointer 函式

glTexCoordPointer 函式會定義紋理座標的陣列。

語法

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

參數

size

每個陣列元素的座標數目。 大小的值必須是 1、2、3 或 4。

type

陣列中每個紋理座標的資料類型,使用下列符號常數: GL_SHORTGL_INTGL_FLOATGL_DOUBLE

大步

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

指標

陣列中第一個專案之第一個座標的指標。

傳回值

此函式不會傳回值。

錯誤碼

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

名稱 意義
GL_INVALID_ENUM
類型 不是可接受的值。
GL_INVALID_VALUE
size 不是 1、2、3 或 4。
GL_INVALID_VALUE
stride 為負數。

備註

glTexCoordPointer函式會指定要在轉譯時使用之紋理座標陣列的位置和資料。size參數會指定陣列中每個元素所使用的座標數目。type參數會指定每個紋理座標的資料類型。 stride參數會決定從一個陣列元素到下一個陣列元素的位元組位移,以在單一陣列中封裝頂點和屬性,或在個別陣列中儲存。 在某些實作中,將頂點和屬性儲存在單一陣列可能會比使用個別陣列更有效率。 如需詳細資訊,請參閱 glInterleavedArrays。 指定紋理座標陣列時,大小、類型、步進和指標都會儲存用戶端狀態。

當您使用glEnableClientState指定GL_TEXTURE_COORD_ARRAY常數時,就會啟用紋理座標陣列。 啟用時, glDrawArraysglDrawElementsglArrayElement 會使用紋理座標陣列。 根據預設,紋理座標陣列已停用。

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

當您使用 glTexCoordPointer指定紋理座標陣列時,所有函式紋理座標陣列參數的值都會儲存在用戶端狀態中,而且可以快取靜態陣列元素。 因為紋理座標陣列參數是用戶端狀態,所以 不會由 glPushAttribglPopAttrib儲存或還原其值。

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

下列函式會擷 取 glTexCoordPointer的相關資訊:

glIsEnabled with argument GL_TEXTURE_COORD_ARRAY

glGet with argument GL_TEXTURE_COORD_ARRAY_SIZE

具有引數的glGetGL_TEXTURE_COORD_ARRAY_STRIDE

glGet with argument GL_TEXTURE_COORD_ARRAY_COUNT

glGet with argument GL_TEXTURE_COORD_ARRAY_TYPE

具有引數的glGetPointervGL_TEXTURE_COORD_ARRAY_POINTER

規格需求

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

另請參閱

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnable

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glPopClientAttrib

glPushClientAttrib

glTexCoord

glVertexPointer