fungsi glNormalPointer

Fungsi glNormalPointer mendefinisikan array normal.

Sintaks

void WINAPI glNormalPointer(
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Parameter

jenis

Jenis data setiap koordinat dalam array menggunakan konstanta simbolis berikut: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, dan GL_DOUBLE.

Langkahnya

Offset byte antara normal berturut-turut. Ketika langkah adalah nol, normal dikemas erat dalam array.

Pointer

Penunjuk ke normal pertama dalam array.

Nilai kembali

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
type bukan nilai yang diterima.
GL_INVALID_OPERATION
langkah atau hitungan negatif.

Keterangan

Fungsi glNormalPointer menentukan lokasi dan data array normal yang akan digunakan saat penyajian. Parameter jenis menentukan jenis data dari setiap koordinat normal. Parameter langkah menentukan offset byte dari satu normal ke yang berikutnya, memungkinkan pengemasan simpul dan atribut dalam satu array atau penyimpanan dalam array terpisah. Dalam beberapa implementasi, menyimpan simpul dan atribut dalam satu array bisa lebih efisien daripada menggunakan array terpisah; lihat glInterleavedArrays untuk detailnya.

Array normal diaktifkan saat Anda menentukan konstanta GL_NORMAL_ARRAY dengan glEnableClientState. Saat diaktifkan, glDrawArrays, glDrawElements , dan glArrayElement menggunakan array normal. Secara default array normal dinonaktifkan.

Anda tidak dapat menyertakan glNormalPointer dalam daftar tampilan.

Saat Anda menentukan array normal menggunakan glNormalPointer, nilai semua parameter array normal fungsi disimpan dalam status sisi klien. Karena parameter array normal disimpan dalam status sisi klien, nilainya tidak disimpan atau dipulihkan oleh glPushAttrib dan glPopAttrib.

Meskipun tidak ada kesalahan yang dihasilkan ketika Anda memanggil glNormalPointer dalam pasangan glBegin dan glEnd , hasilnya tidak terdefinisi.

Fungsi berikut dikaitkan dengan glNormalPointer:

glGet dengan GL_NORMAL_ARRAY_STRIDE argumen

glGet dengan argumen GL_NORMAL_ARRAY_COUNT

glGet dengan argumen GL_NORMAL_ARRAY_TYPE

glGetPointerv dengan argumen GL_NORMAL_ARRAY_POINTER

glIsEnabled dengan argumen GL_NORMAL_ARRAY

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

glDrawElements

glDrawArrays

glEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString