fonction glCallLists

La fonction glCallLists exécute une liste de listes d’affichage.

Syntaxe

void WINAPI glCallLists(
         GLsizei n,
         GLenum  type,
   const GLvoid  *lists
);

Paramètres

n

Nombre de listes d’affichage à exécuter.

type

Type de valeurs dans les listes. Les constantes symboliques suivantes sont acceptées.

Valeur Signification
GL_BYTE
Le paramètre lists est traité comme un tableau d’octets signés, chacun entre -128 et 127.
GL_UNSIGNED_BYTE
Le paramètre lists est traité comme un tableau d’octets non signés, chacun dans la plage comprise entre 0 et 255.
GL_SHORT
Le paramètre lists est traité comme un tableau d’entiers de 2 octets signés, chacun compris entre -32768 et 32767.
GL_UNSIGNED_SHORT
Le paramètre lists est traité comme un tableau d’entiers de 2 octets non signés, chacun compris entre 0 et 65535.
GL_INT
Le paramètre lists est traité comme un tableau d’entiers de 4 octets signés.
GL_UNSIGNED_INT
Le paramètre lists est traité comme un tableau d’entiers de 4 octets non signés.
GL_FLOAT
Le paramètre lists est traité comme un tableau de valeurs à virgule flottante de 4 octets.
GL_2_BYTES
Le paramètre lists est traité comme un tableau d’octets non signés. Chaque paire d’octets spécifie un nom de liste d’affichage unique. La valeur de la paire est calculée comme 256 fois la valeur non signée du premier octet plus la valeur non signée du deuxième octet.
GL_3_BYTES
Le paramètre lists est traité comme un tableau d’octets non signés. Chaque triplet d’octets spécifie un nom de liste d’affichage unique. La valeur du triplet est calculée comme 65536 fois la valeur non signée du premier octet, plus 256 fois la valeur non signée du deuxième octet, plus la valeur non signée du troisième octet.
GL_4_BYTES
Le paramètre lists est traité comme un tableau d’octets non signés. Chaque quadruplé d’octets spécifie un nom de liste d’affichage unique. La valeur du quadruplé est calculée comme 16777216 fois la valeur non signée du premier octet, plus 65536 fois la valeur non signée du deuxième octet, plus 256 fois la valeur non signée du troisième octet, plus la valeur non signée du quatrième octet.

Listes

Adresse d’un tableau de décalages de noms dans la liste d’affichage. Le type de pointeur est void, car les décalages peuvent être des octets, des shorts, des ints ou des floats, selon la valeur de type.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Notes

La fonction glCallLists entraîne l’exécution de chaque liste d’affichage dans la liste des noms passés en tant que listes . Par conséquent, les fonctions enregistrées dans chaque liste d’affichage sont exécutées dans l’ordre, comme si elles étaient appelées sans utiliser de liste d’affichage. Les noms des listes d’affichage qui n’ont pas été définies sont ignorés.

La fonction glCallLists fournit un moyen efficace d’exécuter des listes d’affichage. Le paramètre n spécifie le nombre de listes avec différents formats de nom (spécifiés par le paramètre de type ) que glCallLists exécute.

La liste des noms de liste d’affichage n’est pas terminée par null. Au lieu de cela, n spécifie le nombre de noms à extraire des listes.

La fonction glListBase rend un niveau supplémentaire d’indirection disponible. La fonction glListBase spécifie un décalage non signé qui est ajouté à chaque nom de liste d’affichage spécifié dans les listes avant l’exécution de cette liste d’affichage.

La fonction glCallLists peut apparaître dans une liste d’affichage. Pour éviter la possibilité d’une récursivité infinie résultant de l’appel de listes d’affichage, une limite est placée sur le niveau d’imbrication des listes d’affichage pendant l’exécution de la liste d’affichage. Cette limite doit être d’au moins 64 et dépend de l’implémentation.

L’état OpenGL n’est pas enregistré et restauré sur un appel à glCallLists. Ainsi, les modifications apportées à l’état OpenGL pendant l’exécution des listes d’affichage restent une fois l’exécution terminée. Utilisez glPushAttrib, glPopAttrib, glPushMatrix et glPopMatrix pour conserver l’état OpenGL sur les appels glCallLists .

Vous pouvez exécuter des listes d’affichage entre un appel à glBegin et l’appel à glEnd correspondant, tant que la liste d’affichage inclut uniquement les fonctions autorisées dans cet intervalle.

Les fonctions suivantes récupèrent des informations relatives à la fonction glCallLists :

glGet avec argument GL_LIST_BASE

glGet avec argument GL_MAX_LIST_NESTING

glIsList

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glBegin

glCallList

glDeleteLists

glEnd

glGenLists

glGet

glIsList

glListBase

glNewList

glPopAttrib

glPopMatrix

glPushAttrib

glPushMatrix