Page de démarrage > comp > gb.opengl > gl > calllists 
 en de es it nl pl pt pt_BR mk sq ca hu cs tr ar fa id vi ko ja ru zh zh_TW eo
Précédent  Suivant  Éditer  Renommer  Annuler  Rafraîchir  Rechercher  Administration  
Documentation
Historique
 
Gl.CallLists (gb.opengl)
Static Sub CallLists ( Lists As Integer[] )

Exécute une liste de "display list"

Paramètres

n

Spécifie le nombre de ‘display lists’ à exécuter.

type

Spécifie le type de valeurs dans lists. Les constantes symboliques Gl.BYTE, Gl.UNSIGNED_BYTE, Gl.SHORT, Gl.UNSIGNED_SHORT, Gl.INT, Gl.UNSIGNED_INT, Gl.FLOAT, Gl.2_BYTES, Gl.3_BYTES, et Gl.4_BYTES sont acceptées.

lists

Spécifie l’adresse d’un tableau d’offsets (décalages) de noms dans la ‘display list’. Le type du pointeur est ‘void’ car les offsets peuvent être des octets, des shorts, des entiers ou des flottants selon la valeur de type.

Description

Gl.CallLists entraîne l’exécution de chaque ‘display list’ de la liste de noms passée par lists. Le résultat est que les commandes enregistrées dans chaque ‘display list’ sont exécutées dans l’ordre, comme si elles étaient appelées sans avoir recours à une ‘display list’. Les noms des ‘display list’ qui n’ont pas étés définis sont ignorés.

Gl.CallLists fournit un moyen efficace d’exécuter plus d’une ‘display list’. type autorise des listes avec différents formats de nom. Les formats sont comme suit :

Gl.BYTE

lists est traitée comme un tableau d’octets signés, dans la gamme -128 à 127.

Gl.UNSIGNED_BYTE

lists est traitée comme un tableau d’octets non signés dans la gamme 0 à 255.

Gl.SHORT

lists est traitée comme un tableau d’entiers signés sur deux octets, dans la gamme -32768 à 32767.

Gl.UNSIGNED_SHORT

lists est traitée comme un tableau d’entiers non signés sur deux octets, dans la gamme 0 à 65535.

Gl.INT

lists est traitée comme un tableau d’entiers signés sur quatre octets

Gl.UNSIGNED_INT

lists est traitée comme un tableau d’entiers non signés sur quatre octets

Gl.FLOAT

 lists est traitée comme un tableau de flottants sur quatre octets.

Gl.2_BYTES

lists est traitée comme un tableau d’octets non signés. Chaque couple d’octets spécifie un nom unique de display-list. La valeur de la paire est calculée comme 256 fois la valeur non signées du premier octet plus la valeur non signée du second.

Gl.3_BYTES

lists est traitée comme un tableau d’octets non signés. Chaque triplet d’octets spécifie un nom unique de display-list. La valeur du triplet est calculée comme 65536 fois la valeur non signées du premier octet plus 256 fois la valeur non signées du deuxième octet plus la valeur non signée du troisième.

Gl.4_BYTES

lists est traitée comme un tableau d’octets non signés. Chaque quadruplet d’octets spécifie un nom unique de display-list. La valeur du quadruplet est calculée comme 16777216 fois la valeur non signées du premier octet plus 65536 fois la valeur non signées du deuxième octet plus 256 fois la valeur non signées du troisième octet plus la valeur non signée du quatrième.

La liste de noms de display-list n’est pas terminée par null. Au contraire, -n- spécifie combien de noms doivent être extraits de list.

Un niveau d’indirection est rendu possible avec la commande Gl.ListBase, qui spécifie un offset non signé ajouté à chaque nom de "display list" spécifié dans les listes avant que cette "display list" soit exécutée.

 Gl.CallLists peut apparaître dans une "display list". Pour éviter le risque d’une récursions infinie résultant de "display lists" s’appelant l’une l’autre, une limite est fixée pour le niveau d’imbrications des "display list" à leur exécution. Cette limite doit être au moins de 64, et elle dépend de l’implémentation.

  L’état de GL n’est pas sauvegardé et restauré au cours l’appel à Gl.CallList. Aussi, les changements faits à l’état de GL pendant l’exécution de la "display list" demeurent une fois son exécution achevée. Utilisez Gl.PushAttrib, Gl.PopAttrib, Gl.PushMatrix, et Gl.PopMatrix pour préserver l’état de GL au cours des appels à Gl.CallLists

Notes

Les "Display lists" peuvent être exécutées entre un appel à Gl.Begin et l’appel correspondant à Gl.End, tant que la "display list" n’inclut que des commandes autorisées dans cet intervalle.

Errors

Gl.INVALID_VALUE est généré si n est négatif.

Gl.INVALID_ENUM est généré si type ne fait pas partie de 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.

Gets Associés

Gl.Get avec l’argument Gl.LIST_BASE

Gl.Get avec l’argument Gl.MAX_LIST_NESTING

Gl.IsList

Voir aussi

Gl.CallList, Gl.DeleteLists, Gl.GenLists, Gl.ListBase, Gl.NewList, Gl.PushAttrib, Gl.PushMatrix


Copyright © 1991-2006 Silicon Graphics, Inc. Ce document est sous licence SGI Free Software B License. Pour tout detail, voir http://oss.sgi.com/projects/FreeB.

➡ Voir la documentation originale