Condividi tramite


funzione glCallLists

La funzione glCallLists esegue un elenco di elenchi di visualizzazione.

Sintassi

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

Parametri

n

Numero di elenchi di visualizzazione da eseguire.

type

Tipo di valori negli elenchi. Le costanti simboliche seguenti sono accettate.

Valore Significato
GL_BYTE
Il parametro list viene considerato come una matrice di byte firmati, ognuno nell'intervallo -128 fino a 127.
GL_UNSIGNED_BYTE
Il parametro list viene considerato come matrice di byte senza segno, ognuno nell'intervallo da 0 a 255.
GL_SHORT
Il parametro list viene considerato come matrice di interi con segno a 2 byte, ognuno dell'intervallo -32768 fino a 32767.
GL_UNSIGNED_SHORT
Il parametro list viene considerato come matrice di interi senza segno a 2 byte, ognuno nell'intervallo da 0 a 65535.
GL_INT
Il parametro list viene considerato come matrice di numeri interi con segno a 4 byte.
GL_UNSIGNED_INT
Il parametro liste viene considerato come matrice di interi senza segno a 4 byte.
GL_FLOAT
Il parametro list viene considerato come matrice di valori a 4 byte, a virgola mobile.
GL_2_BYTES
Il parametro list viene considerato come matrice di byte non firmati. Ogni coppia di byte specifica un singolo nome elenco visualizzato. Il valore della coppia viene calcolato come 256 volte il valore senza segno del primo byte e il valore senza segno del secondo byte.
GL_3_BYTES
Il parametro list viene considerato come matrice di byte non firmati. Ogni tripletta di byte specifica un singolo nome elenco visualizzato. Il valore del tripletto viene calcolato come 65536 volte il valore senza segno del primo byte, più 256 volte il valore senza segno del secondo byte, più il valore senza segno del terzo byte.
GL_4_BYTES
Il parametro list viene considerato come matrice di byte non firmati. Ogni quadre di byte specifica un singolo nome elenco visualizzato. Il valore del quarto byte viene calcolato come 16777216 volte il valore senza segno del primo byte, più 65536 volte il valore senza segno del secondo byte, più 256 volte il valore senza segno del terzo byte, oltre al valore senza segno del quarto byte.

Elenchi

Indirizzo di una matrice di offset dei nomi nell'elenco di visualizzazione. Il tipo di puntatore è void perché gli offset possono essere byte, short, ints o float, a seconda del valore di tipo.

Valore restituito

Questa funzione non restituisce un valore.

Commenti

La funzione glCallLists causa l'esecuzione di ogni elenco visualizzato nell'elenco dei nomi passati come elenchi . Di conseguenza, le funzioni salvate in ogni elenco di visualizzazione vengono eseguite in ordine, come se fossero chiamate senza usare un elenco di visualizzazione. I nomi degli elenchi visualizzati che non sono stati definiti vengono ignorati.

La funzione glCallLists offre un mezzo efficiente per l'esecuzione di elenchi di visualizzazione. Il parametro n specifica il numero di elenchi con vari formati di nome (specificati dal parametro di tipo ) glCallLists viene eseguito.

L'elenco dei nomi dell'elenco visualizzato non viene terminato con null. Invece, n specifica il numero di nomi da prendere dagli elenchi.

La funzione glListBase rende disponibile un livello aggiuntivo di indiretto. La funzione glListBase specifica un offset senza segno aggiunto a ogni nome elenco visualizzato specificato negli elenchi prima dell'esecuzione dell'elenco visualizzato.

La funzione glCallLists può essere visualizzata all'interno di un elenco di visualizzazione. Per evitare la possibilità di ricorsione infinita risultante da elenchi visualizzati che chiamano l'uno all'altro, un limite viene inserito sul livello di annidamento degli elenchi di visualizzazione durante l'esecuzione dell'elenco di visualizzazione. Questo limite deve essere almeno 64 e dipende dall'implementazione.

Lo stato OpenGL non viene salvato e ripristinato in una chiamata a glCallLists. Pertanto, le modifiche apportate allo stato OpenGL durante l'esecuzione degli elenchi di visualizzazione rimangono dopo il completamento dell'esecuzione. Usare glPushAttrib, glPopAttrib, glPushMatrix e glPopMatrix per mantenere lo stato OpenGL tra le chiamate glCallLists.

È possibile eseguire elenchi di visualizzazione tra una chiamata a glBegin e la chiamata corrispondente a glEnd, purché l'elenco di visualizzazione includa solo funzioni consentite in questo intervallo.

Le funzioni seguenti recuperano informazioni correlate alla funzione glCallLists :

glGet con argomento GL_LIST_BASE

glGet con argomento GL_MAX_LIST_NESTING

glIsList

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glBegin

glCallList

glDeleteLists

glEnd

glGenLists

glGet

glIsList

glListBase

glNewList

glPopAttrib

glPopMatrix

glPushAttrib

glPushMatrix