glCallLists
[New
- Windows 95, OEM Service Release 2]
The glCallLists
function executes a list of display lists.
void glCallLists(
GLsizei n, |
|
GLenum type, |
|
const GLvoid * lists |
|
); |
|
Parameters
n
The number of
display lists to be executed.
type
The type of
values in lists. The following symbolic constants are accepted:
GL_BYTE
The lists
parameter is treated as an array of signed bytes, each in the range - 128 through 127.
GL_UNSIGNED_BYTE
The lists
parameter is treated as an array of unsigned bytes, each in the range 0 through
255.
GL_SHORT
The lists
parameter is treated as an array of signed two-byte integers, each in the
range - 32768 through 32767.
GL_UNSIGNED_SHORT
The lists
parameter is treated as an array of unsigned two-byte integers, each in the
range 0 through 65535.
GL_INT
The lists
parameter is treated as an array of signed four-byte integers.
GL_UNSIGNED_INT
The lists
parameter is treated as an array of unsigned four-byte integers.
GL_FLOAT
The lists
parameter is treated as an array of four-byte, floating-point values.
GL_2_BYTES
The lists
parameter is treated as an array of unsigned bytes. Each pair of bytes
specifies a single display-list name. The value of the pair is computed as 256
times the unsigned value of the first byte plus the unsigned value of the
second byte.
GL_3_BYTES
The lists
parameter is treated as an array of unsigned bytes. Each triplet of bytes
specifies a single display list name. The value of the triplet is computed as
65536 times the unsigned value of the first byte, plus 256 times the unsigned
value of the second byte, plus the unsigned value of the third byte.
GL_4_BYTES
The lists
parameter is treated as an array of unsigned bytes. Each quadruplet of bytes
specifies a single display list name. The value of the quadruplet is computed
as 16777216 times the unsigned value of the first byte, plus 65536 times the
unsigned value of the second byte, plus 256 times the unsigned value of the
third byte, plus the unsigned value of the fourth byte.
lists
The address
of an array of name offsets in the display list. The pointer type is void
because the offsets can be bytes, shorts, ints, or floats, depending on the
value of type.
Remarks
The glCallLists
function causes each display list in the list of names passed as lists
to be executed. As a result, the functions saved in each display list are
executed in order, just as if they were called without using a display list.
Names of display lists that have not been defined are ignored.
The glCallLists
function provides an efficient means for executing display lists.The n
parameter specifies the number of lists with various name formats (specified by
the type parameter) glCallLists executes.
The list of
display list names is not null-terminated. Rather, n specifies how many
names are to be taken from lists.
The glListBase
The glCallLists
function can appear inside a display list. To avoid the possibility of infinite
recursion resulting from display lists calling one another, a limit is placed
on the nesting level of display lists during display list execution. This limit
must be at least 64, and it depends on the implementation.
The OpenGL
state is not saved and restored across a call to glCallLists. Thus,
changes made to the OpenGL state during the execution of the display lists
remain after execution is completed. Use glPushAttrib
You can
execute display lists between a call to glBegin and the corresponding
call to glEnd, as long as the display list includes only functions that
are allowed in this interval.
The following
functions retrieve information related to the glCallLists function:
glGet with
argument GL_LIST_BASE
glGet with
argument GL_MAX_LIST_NESTING
glIsList
See Also