glCallLists-Funktion
Die glCallLists-Funktion führt eine Liste von Anzeigelisten aus.
Syntax
void WINAPI glCallLists(
GLsizei n,
GLenum type,
const GLvoid *lists
);
Parameter
-
n
-
Die Anzahl der auszuführenden Anzeigelisten.
-
type
-
Der Typ der Werte in listet auf. Die folgenden symbolischen Konstanten werden akzeptiert.
Wert Bedeutung - GL _ BYTE
Der lists-Parameter wird als Array von Bytes mit Vorzeichen behandelt, die jeweils im Bereich von -128 bis 127 liegen. - GL _ UNSIGNED _ BYTE
Der lists-Parameter wird als Array von Bytes ohne Vorzeichen behandelt, die jeweils im Bereich von 0 bis 255 liegen. - GL _ SHORT
Der lists-Parameter wird als Array von 2-Byte-Ganzzahlen mit Vorzeichen behandelt, die jeweils im Bereich von -32768 bis 32767 liegen. - GL _ UNSIGNED _ SHORT
Der lists-Parameter wird als Array von 2-Byte-Ganzzahlen ohne Vorzeichen behandelt, die jeweils im Bereich von 0 bis 65535 liegen. - GL _ INT
Der lists-Parameter wird als Array von 4-Byte-Ganzzahlen mit Vorzeichen behandelt. - GL _ UNSIGNED _ INT
Der lists-Parameter wird als Array von 4-Byte-Ganzzahlen ohne Vorzeichen behandelt. - GL _ FLOAT
Der lists-Parameter wird als Array von 4-Byte-Gleitkommawerten behandelt. - GL _ 2 _ BYTES
Der lists-Parameter wird als Array von Bytes ohne Vorzeichen behandelt. Jedes Bytepaar gibt einen einzelnen Anzeigelistennamen an. Der Wert des Paars wird als das 256-fache des Werts ohne Vorzeichen des ersten Byte plus des Werts ohne Vorzeichen des zweiten Byte berechnet. - GL _ 3 _ BYTES
Der lists-Parameter wird als Array von Bytes ohne Vorzeichen behandelt. Jedes Triplet von Bytes gibt einen einzelnen Anzeigelistennamen an. Der Wert des Triplets wird als das 65536-fache des Werts ohne Vorzeichen des ersten Byte sowie das 256-fache des Werts ohne Vorzeichen des zweiten Byte plus des Werts ohne Vorzeichen des dritten Byte berechnet. - GL _ 4 _ BYTES
Der lists-Parameter wird als Array von Bytes ohne Vorzeichen behandelt. Jedes Quadruplet von Bytes gibt einen einzelnen Anzeigelistennamen an. Der Wert des Quadruplets wird berechnet, wenn 16777216 mal der Wert ohne Vorzeichen des ersten Byte plus das 65536-fache des werts ohne Vorzeichen des zweiten Byte plus das 256-fache des werts ohne Vorzeichen des dritten Byte plus des Werts ohne Vorzeichen des vierten Bytes ist. -
Listen
-
Die Adresse eines Arrays von Namensoffsets in der Anzeigeliste. Der Zeigertyp ist void, da die Offsets je nach Wert des Typs Bytes, Shorts, Ints oder Floats sein können.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Hinweise
Die glCallLists-Funktion bewirkt, dass jede Anzeigeliste in der Liste der als Listen übergebenen Namen ausgeführt wird. Daher werden die in jeder Anzeigeliste gespeicherten Funktionen in der reihenfolge ausgeführt, als ob sie aufgerufen würden, ohne eine Anzeigeliste zu verwenden. Namen von Anzeigelisten, die nicht definiert wurden, werden ignoriert.
Die glCallLists-Funktion stellt eine effiziente Möglichkeit zum Ausführen von Anzeigelisten bereit. Der n-Parameter gibt die Anzahl der Listen mit verschiedenen Namenformaten (angegeben durch den Typparameter) an, die von glCallLists ausgeführt werden.
Die Liste der Anzeigelistennamen ist nicht NULL-terminiert. Stattdessen gibt n an, wie viele Namen aus Listen entnommen werden sollen.
Die glListBase-Funktion stellt eine zusätzliche Dekonstruktionsebene zur Verfügung. Die glListBase-Funktion gibt einen Offset ohne Vorzeichen an, der jedem Anzeigelistennamen hinzugefügt wird, der in Listen angegeben ist, bevor diese Anzeigeliste ausgeführt wird.
Die glCallLists-Funktion kann in einer Anzeigeliste angezeigt werden. Um die Möglichkeit einer unendlichen Rekursion zu vermeiden, die sich aus aufrufenden Anzeigelisten ergibt, wird während der Ausführung der Anzeigeliste ein Grenzwert auf der Schachtelungsebene von Anzeigelisten festgelegt. Dieser Grenzwert muss mindestens 64 sein und hängt von der Implementierung ab.
Der OpenGL-Zustand wird nicht über einen Aufruf von glCallLists gespeichert und wiederhergestellt. Daher bleiben Änderungen, die während der Ausführung der Anzeigelisten am OpenGL-Zustand vorgenommen werden, nach Abschluss der Ausführung erhalten. Verwenden Sie glPushAttrib, glPopAttrib, glPushMatrixund glPopMatrix, um den OpenGL-Zustand über glCallLists-Aufrufe hinweg beizubehalten.
Sie können Anzeigelisten zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEndausführen, solange die Anzeigeliste nur Funktionen enthält, die in diesem Intervall zulässig sind.
Die folgenden Funktionen rufen Informationen im Zusammenhang mit der glCallLists-Funktion ab:
glGet mit Argument GL _ LIST _ BASE
glGet mit argument GL _ MAX _ LIST _ NESTING
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 |
|