next up previous contents index
Next: Texturing Up: GraphicDevice Previous: Global Settings and Matrix

Display Lists

If display lists are supported by the hardware (for instance on advanced OpenGL machines), or when a remote display is used and the lists are stored locally, they can speed up the drawing dramatically. Even on the other devices, where the display lists are emulated by software, they can reduce repeated calls of slow display methods.

There is no display list management for whole objects and data hierarchy trees at the moment (due to problems caused by local scene matrices), and it would be no good idea to implement display lists shared between arbitrary GraphicDevice subclasses. The one thing possible are local display lists that are allocated at the startup of a display method, then used, and freed at the end. As mentioned before they cannot be used across calls of display methods, because these could happen on different devices. One application is to create a display lists containing the shape of a sphere or anything else and to use it many times at once, moved by a pre transformation of the MODEL matrix, to display a set of points.

int begin_list (void)
Begin a list. All function calls up to the next end_list are recorded. The list-ID is returned, or 0 in case of an error. Calls of begin_list cannot be nested, but lists can contain invocations of other lists.
void end_list (void)
Finish recording a list.
int call_list (int list_id)
Draw the contents of the list with the gived ID.
void delete_list (int list_id)
Delete the given list.



SFB 256 Universität Bonn and IAM Universität Freiburg

Copyright © by the Sonderforschungsbereich 256 at the Institut für Angewandte Mathematik, Universität Bonn.