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 |
---|---|
|
type war kein akzeptierter Wert. |
|
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 |
|
Bibliothek |
|
DLL |
|