gl.CallLists(listArray)
gl.CallLists()
bewirkt, dass jede Display-Liste, die in der Namensliste
aufgeführt ist, ausgeführt werden. Als Ergebnis werden
die in jeder Display-Liste gespeicherten Befehle der Reihe nach ausgeführt,
so als ob sie ohne Verwendung einer Display-Liste aufgerufen würden. Namen
von Display-Listen, die nicht definiert wurden, werden ignoriert.
gl.CallLists()
bietet so ein effizientes Mittel zum Ausführen von mehr als
einer Display-Liste.
Mit dem Befehl gl.ListBase() wird jedem Listennamen in der Liste einen vorzeichenlosen Versatz hinzugefügt, bevor diese Display-Liste ausgeführt wird. Somit wird eine zusätzliche Ebene der Indirektion bereitgestellt.
gl.CallLists()
kann in einer Display-Liste erscheinen. Um die Möglichkeit
einer unendlichen Rekursion durch gegenseitiges Aufrufen von Display-Listen
zu vermeiden, wird die Verschachtelungsebene von Display-Listen während der
Ausführung der Display-Liste auf mindesten 64 begrenzt. Dies hängt allerdings
von der Implementierung ab.
Der GL-Status wird bei einem Aufruf von gl.CallList() nicht gespeichert und wiederhergestellt. Somit bleiben Änderungen am GL-Status während der Ausführung einer Display-Liste auch nach Abschluss der Ausführung der Display-Listen erhalten. Verwenden Sie gl.PushAttrib(), gl.PopAttrib(), gl.PushMatrix() und gl.PopMatrix(), um den GL-Status über gl.CallList()-Aufrufe hinweg beizubehalten.
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
#GL_LIST_BASE
gl.Get() mit dem Argument #GL_MAX_LIST_NESTING