Bagikan melalui


glInterleavedArrays (Fungsi glInterleavedArrays)

Fungsi glInterleavedArrays secara bersamaan menentukan dan memungkinkan beberapa array yang saling terkait dalam array agregat yang lebih besar.

Sintaks

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

Parameter

format

Jenis array yang akan diaktifkan. Parameter dapat mengasumsikan salah satu nilai simbolis berikut: 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, atau GL_T4F_C4F_N3F_V4F.

Langkahnya

Offset dalam byte di antara setiap elemen array agregat.

Pointer

Penunjuk ke elemen pertama dari array agregat.

Mengembalikan nilai

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
format bukan nilai yang diterima.
GL_INVALID_VALUE
stride adalah nilai negatif.
GL_INVALID_OPERATION
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Keterangan

Dengan fungsi glInterleavedArrays , Anda dapat secara bersamaan menentukan dan mengaktifkan beberapa array warna, normal, tekstur, dan vertex yang elemennya merupakan bagian dari elemen array agregat yang lebih besar. Untuk beberapa arsitektur memori, ini lebih efisien daripada menentukan array secara terpisah.

Jika parameter stride adalah nol, maka elemen array agregat disimpan secara berturut-turut; jika tidak , langkah byte terjadi antara elemen array agregat.

Parameter format berfungsi sebagai kunci yang menjelaskan cara mengekstrak array individual dari array agregat:

  • Jika format berisi T, maka koordinat tekstur diekstrak dari array yang diselingi.
  • Jika C ada, nilai warna akan diekstrak.
  • Jika N ada, koordinat normal akan diekstrak.
  • Koordinat puncak selalu diekstrak.
  • Digit 2, 3, dan 4 menunjukkan berapa banyak nilai yang diekstrak.
  • F menunjukkan bahwa nilai diekstrak sebagai nilai titik mengambang.
  • Jika 4UB mengikuti C, warna juga dapat diekstrak sebagai 4 byte yang tidak ditandatangani. Jika warna diekstrak sebagai 4 byte yang tidak ditandatangani, elemen array vertex yang mengikuti terletak pada kemungkinan alamat sejajar titik mengambang pertama.

Jika Anda memanggil glInterleavedArrays saat mengkompilasi daftar tampilan, glInterleavedArrays tidak dikompilasi ke dalam daftar tetapi segera dijalankan.

Anda tidak dapat menyertakan panggilan ke glInterleavedArrays di glDisableClientState antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Catatan

Fungsi glInterleavedArrays hanya tersedia di OpenGL versi 1.1 atau yang lebih baru.

Fungsi glInterleavedArrays diimplementasikan di sisi klien tanpa protokol. Karena parameter array vertex bersifat sisi klien, parameter tersebut tidak disimpan atau dipulihkan oleh glPushAttrib dan glPopAttrib. Gunakan glPushClientAttrib dan glPopClientAttrib sebagai gantinya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Gl.h
Pustaka
Opengl32.lib
DLL
Opengl32.dll

Lihat juga

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glIndexPointer

glNormalPointer

glPushAttrib

glPushClientAttrib

glTexCoordPointer

glVertexPointer