Freigeben über


glNormalPointer-Funktion

Die glNormalPointer-Funktion definiert ein Array von Normals.

Syntax

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

Parameter

type

Der Datentyp jeder Koordinate im Array mit den folgenden symbolischen Konstanten: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT und GL_DOUBLE.

Schritt

Der Byteoffset zwischen aufeinanderfolgenden Normalwerten. Wenn stride null ist, sind die Normalwerte eng im Array gepackt.

Zeiger

Ein Zeiger auf die erste Normalität im Array.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL_INVALID_ENUM
type war kein akzeptierter Wert.
GL_INVALID_OPERATION
stride oder count war negativ.

Bemerkungen

Die glNormalPointer-Funktion gibt den Speicherort und die Daten eines Arrays von Normals an, die beim Rendern verwendet werden sollen. Der Type-Parameter gibt den Datentyp jeder normalen Koordinate an. Der stride-Parameter bestimmt den Byteoffset von normal zu normal und ermöglicht das Packen von Scheitelpunkten und Attributen in einem einzelnen Array oder Speicher in separaten Arrays. In einigen Implementierungen kann das Speichern der Scheitelpunkte und Attribute in einem einzelnen Array effizienter sein als die Verwendung separater Arrays. Weitere Informationen finden Sie unter glInterleavedArrays .

Ein normales Array wird aktiviert, wenn Sie die GL_NORMAL_ARRAY Konstante mit glEnableClientState angeben. Wenn aktiviert, verwenden glDrawArrays, glDrawElements und glArrayElements das normale Array. Standardmäßig ist das normale Array deaktiviert.

Sie können glNormalPointer nicht in Anzeigelisten einschließen.

Wenn Sie ein normales Array mithilfe von glNormalPointer angeben, werden die Werte aller normalen Arrayparameter der Funktion in einem clientseitigen Zustand gespeichert. Da die normalen Arrayparameter in einem clientseitigen Zustand gespeichert werden, werden ihre Werte nicht von glPushAttrib und glPopAttrib gespeichert oder wiederhergestellt.

Obwohl beim Aufrufen von glNormalPointer innerhalb der GlBegin - und glEnd-Paare kein Fehler generiert wird, sind die Ergebnisse nicht definiert.

GlNormalPointer sind die folgenden Funktionen zugeordnet:

glGet mit Argument GL_NORMAL_ARRAY_STRIDE

glGet mit argument GL_NORMAL_ARRAY_COUNT

glGet mit Argument GL_NORMAL_ARRAY_TYPE

glGetPointerv mit Argument GL_NORMAL_ARRAY_POINTER

glIsEnabled mit Argument GL_NORMAL_ARRAY

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Weitere Informationen

glArrayElement

glColorPointer

glDrawElements

glDrawArrays

glEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString