glVertexPointer-Funktion
Die glVertexPointer-Funktion definiert ein Array von Vertexdaten.
Syntax
void WINAPI glVertexPointer(
GLint size,
GLenum type,
GLsizei stride,
const GLvoid *pointer
);
Parameter
-
size
-
Die Anzahl der Koordinaten pro Scheitelpunkt. Der Wert der Größe muss 2, 3 oder 4 sein.
-
type
-
Der Datentyp jeder Koordinate im Array mit den folgenden symbolischen Konstanten: GL_SHORT, GL_INT, GL_FLOAT und GL_DOUBLE.
-
Schritt
-
Der Byteoffset zwischen aufeinanderfolgenden Scheitelpunkten. Wenn stride null ist, werden die Scheitelpunkte eng im Array gepackt.
-
Zeiger
-
Ein Zeiger auf die erste Koordinate des ersten Scheitelpunkts 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 |
---|---|
|
Die Größe war nicht 2, 3 oder 4. |
|
type war kein akzeptierter Wert. |
|
stride oder count war negativ. |
Bemerkungen
Die glVertexPointer-Funktion gibt den Speicherort und die Daten eines Arrays von Vertexkoordinaten an, die beim Rendern verwendet werden sollen. Der Size-Parameter gibt die Anzahl der Koordinaten pro Scheitelpunkt an. Der type-Parameter gibt den Datentyp jeder Vertexkoordinate an. Der stride-Parameter bestimmt den Byteoffset von einem Scheitelpunkt zum nächsten 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 (siehe glInterleavedArrays).
Ein Vertexarray wird aktiviert, wenn Sie die GL_VERTEX_ARRAY Konstante mit glEnableClientState angeben. Wenn aktiviert, verwenden glDrawArrays, glDrawElements und glArrayElement das Vertexarray. Standardmäßig ist das Vertexarray deaktiviert.
Sie können glVertexPointer nicht in Anzeigelisten einschließen.
Wenn Sie ein Vertexarray mithilfe von glVertexPointer angeben, werden die Werte aller Vertexarrayparameter der Funktion in einem clientseitigen Zustand gespeichert, und statische Arrayelemente können zwischengespeichert werden. Da die Vertexarrayparameter clientseitig sind, werden ihre Werte nicht von glPushAttrib und glPopAttrib gespeichert oder wiederhergestellt.
Obwohl kein Fehler generiert wird, wenn Sie glVertexPointer innerhalb der GlBegin - und glEnd-Paare aufrufen, sind die Ergebnisse nicht definiert.
Die folgenden Funktionen rufen Informationen im Zusammenhang mit glVertexPointer ab:
glGet mit Argument GL_VERTEX_ARRAY_SIZE
glGet mit Argument GL_VERTEX_ARRAY_STRIDE
glGet mit Argument GL_VERTEX_ARRAY_COUNT
glGet mit argument GL_VERTEX_ARRAY_TYPE
glGetPointerv mit Argument GL_VERTEX_ARRAY_POINTER
glIsEnabled mit Argument GL_VERTEX_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 |
|