glInterleavedArrays 函式

glInterleavedArrays函式同時指定並啟用較大匯總陣列中的數個交錯陣列。

語法

void WINAPI glInterleavedArrays(
         GLenum  format,
         GLsizei stride,
   const GLvoid  *pointer
);

參數

format

要啟用的陣列類型。 參數可以假設下列其中一個符號值:GL_V2F、GL_V3F、GL_C4UB_V2F、GL_C4UB_V3F、GL_C3F_V3F、GL_N3F_V3F、GL_C4F_N3F_V3F、GL_T2F_V3F、GL_T4F_V4F、GL_T2F_C4UB_V3F、GL_T2F_C3F_V3F、GL_T2F_N3F_V3F、GL_T2F_C4F_N3F_V3F或GL_T4F_C4F_N3F_V4F。

大步

每個匯總陣列專案之間的位元組位移。

指標

匯總陣列第一個專案的指標。

傳回值

此函式不會傳回值。

錯誤碼

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

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

備註

使用 glInterleavedArrays 函式,您可以同時指定並啟用數個交錯色彩、一般、紋理和頂點陣列,其元素是較大匯總陣列元素的一部分。 對於某些記憶體架構,這比個別指定陣列更有效率。

如果 stride 參數為零,則匯總陣列元素會連續儲存;否則,匯總陣列元素之間會發生 分步 位元組。

format參數可作為索引鍵,描述如何從匯總陣列擷取個別陣列:

  • 如果 格式 包含 T,則會從交錯陣列擷取紋理座標。
  • 如果 C 存在,則會擷取色彩值。
  • 如果存在 N,則會擷取一般座標。
  • 頂點座標一律會擷取。
  • 數位 2、3 和 4 代表擷取的值數目。
  • F 表示值會擷取為浮點值。
  • 如果 4UB 遵循 C,色彩也可能擷取為 4 個不帶正負號的位元組。 如果色彩擷取為 4 個不帶正負號的位元組,則後面的頂點陣列元素位於第一個可能的浮點對齊位址。

如果您在編譯顯示清單時呼叫 glInterleavedArrays ,它不會編譯到清單中,而是立即執行。

您無法在glDisableClientState中加入glInterleavedArrays的呼叫,以及glBegin的對應呼叫。

注意

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

glInterleavedArrays函式會在沒有通訊協定的用戶端上實作。 因為頂點陣列參數是用戶端狀態, 所以不會由 glPushAttribglPopAttrib儲存或還原。 請改用 glPushClientAttribglPopClientAttrib

規格需求

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

另請參閱

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glIndexPointer

glNormalPointer

glPushAttrib

glPushClientAttrib

glTexCoordPointer

glVertexPointer