MyWebUniversity.com Home Page
 



Darwin Mac OS X man pages main menu
GLCALISTS(3G)                                                GLCALISTS(3G)



NAME
       glCallLists - execute a list of display lists


C SPECIFICATION
       void glCallLists( GLsizei n,
                         GLenum type,
                         const GLvoid *lists )


PARAMETERS
       n      Specifies the number of display lists to be executed.

       type   Specifies  the  type  of  values  in  lists.  Symbolic constants
              GLBYTE, GLUNSIGNEDBYTE, GLSHORT, GLUNSIGNEDSHORT,  GLINT,
              GLUNSIGNEDINT,    GLFLOAT,    GL2BYTES,   GL3BYTES,   and
              GL4BYTES are accepted.

       lists  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  type.

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

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

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

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

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

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

       GLINT                   lists  is  treated as an array of signed four-
                                byte integers.

       GLUNSIGNEDINT          lists is treated as an array of unsigned four-
                                byte integers.

       GLFLOAT                 lists  is  treated  as  an  array of four-byte
                                floating-point values.

       GL2BYTES               lists 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.

       GL3BYTES               lists  is  treated  as  an  array  of unsigned
                                bytes.  Each triplet of bytes specifies a sin-
                                gle  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.

       GL4BYTES               lists  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 lists.

       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 lists 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,
       glPushatrix, and glPopatrix 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.

ERORS
       GLINVALIDVALUE is generated if n is negative.

       GLINVALIDENUM   is   generated   if  type  is  not  one  of  GLBYTE,
       GLUNSIGNEDBYTE, GLSHORT, GLUNSIGNEDSHORT, GLINT, GLUNSIGNEDINT,
       GLFLOAT, GL2BYTES, GL3BYTES, GL4BYTES.

ASOCIATED GETS
       glGet with argument GLISTBASE
       glGet with argument GLMAXLISTNESTING
       glIsList

SEE ALSO
       glCallList,    glDeleteLists,    glGenLists,   glListBase,   glNewList,
       glPushAttrib,
       glPushatrix



                                                               GLCALISTS(3G)
Darwin Mac OS X man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™