C SPECIFICATION

       void GLAPIENTRY glCallLists( GLsizei n,
                                    GLenum typ )



PARAMETERS

       n    Specifies the number of display lists to be executed.

       typ  Specifies  the  type  of  values  in  _param3.  Symbolic constants
            GL_BYTE, GL_UNSIGNED_BYTE,  GL_SHORT,  GL_UNSIGNED_SHORT,  GL_INT,
            GL_UNSIGNED_INT,  GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES
            are accepted.

       _param3
            Specifies 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 typ.


DESCRIPTION

       glCallLists causes each display list in the list  of  names  passed  as
       _param3  to  be executed.  As a result, the commands saved in each dis-
       play 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.

       glCallLists provides an efficient means for  executing  more  than  one
       display  list.   typ  allows  lists  with  various  name  formats to be
       accepted.  The formats are as follows:

       GL_BYTE                  _param3 is  treated  as  an  array  of  signed
                                bytes, each in the range -128 through 127.

       GL_UNSIGNED_BYTE         _param3  is  treated  as  an array of unsigned
                                bytes, each in the range 0 through 255.

       GL_SHORT                 _param3 is treated as an array of signed  two-
                                byte   integers,  each  in  the  range  -32768
                                through 32767.

       GL_UNSIGNED_SHORT        _param3 is treated as  an  array  of  unsigned
                                two-byte integers, each in the range 0 through
                                65535.

       GL_INT                   _param3 is treated as an array of signed four-
                                byte integers.

       GL_UNSIGNED_INT          _param3  is  treated  as  an array of unsigned
                                four-byte integers.

       GL_FLOAT                 _param3 is treated as an  array  of  four-byte
                                floating-point values.
                                plus the unsigned value of the third byte.

       GL_4_BYTES               _param3 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.

       The list of display-list names is not null-terminated.  Rather, n spec-
       ifies how many names are to be taken from _param3.

       An   additional  level  of  indirection  is  made  available  with  the
       glListBase command, which specifies an unsigned offset that is added to
       each display-list name specified in _param3 before that display list is
       executed.

       glCallLists 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.

       GL state is not saved and restored across a call to glCallLists.  Thus,
       changes  made  to  GL  state  during the execution of the display lists
       remain after execution is completed.   Use  glPushAttrib,  glPopAttrib,
       glPushMatrix,  and  glPopMatrix to preserve GL state across glCallLists
       calls.


NOTES

       Display lists can be executed between a call to glBegin and the  corre-
       sponding  call to glEnd, as long as the display list includes only com-
       mands that are allowed in this interval.


ERRORS

       GL_INVALID_VALUE is generated if n is negative.

       GL_INVALID_ENUM  is  generated  if  typ  is   not   one   of   GL_BYTE,
       GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT,
       GL_FLOAT, GL_2_BYTES, GL_3_BYTES, GL_4_BYTES.


ASSOCIATED GETS

       glGet with argument GL_LIST_BASE
       glGet with argument GL_MAX_LIST_NESTING
       glIsList


SEE ALSO

       glCallList,   glDeleteLists,   glGenLists,    glListBase,    glNewList,
       glPushAttrib,

Man(1) output converted with man2html