Função glCallLists

A função glCallLists executa uma lista de listas de exibição.

Sintaxe

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

Parâmetros

n

O número de listas de exibição a serem executadas.

tipo

O tipo de valores em listas. As seguintes constantes simbólicas são aceitas.

Valor Significado
GL_BYTE
O parâmetro lists é tratado como uma matriz de bytes assinados, cada um no intervalo de -128 a 127.
GL_UNSIGNED_BYTE
O parâmetro lists é tratado como uma matriz de bytes não assinados, cada um no intervalo de 0 a 255.
GL_SHORT
O parâmetro lists é tratado como uma matriz de inteiros com sinal de 2 bytes, cada um no intervalo -32768 a 32767.
GL_UNSIGNED_SHORT
O parâmetro lists é tratado como uma matriz de inteiros sem sinal de 2 bytes, cada um no intervalo de 0 a 65535.
GL_INT
O parâmetro lists é tratado como uma matriz de inteiros com sinal de 4 bytes.
GL_UNSIGNED_INT
O parâmetro lists é tratado como uma matriz de inteiros sem sinal de 4 bytes.
GL_FLOAT
O parâmetro lists é tratado como uma matriz de valores de ponto flutuante de 4 bytes.
GL_2_BYTES
O parâmetro lists é tratado como uma matriz de bytes não assinados. Cada par de bytes especifica um único nome de lista de exibição. O valor do par é calculado como 256 vezes o valor não assinado do primeiro byte mais o valor não assinado do segundo byte.
GL_3_BYTES
O parâmetro lists é tratado como uma matriz de bytes não assinados. Cada trigêmeo de bytes especifica um único nome de lista de exibição. O valor do trigêmeo é calculado como 65536 vezes o valor não assinado do primeiro byte, mais 256 vezes o valor não assinado do segundo byte, mais o valor não assinado do terceiro byte.
GL_4_BYTES
O parâmetro lists é tratado como uma matriz de bytes não assinados. Cada quádruplo de bytes especifica um único nome de lista de exibição. O valor do quadruplo é calculado como 16777216 vezes o valor sem sinal do primeiro byte, mais 65536 vezes o valor sem sinal do segundo byte, mais 256 vezes o valor não assinado do terceiro byte, além do valor não assinado do quarto byte.

Listas

O endereço de uma matriz de deslocamentos de nome na lista de exibição. O tipo de ponteiro é nulo porque os deslocamentos podem ser bytes, shorts, ints ou floats, dependendo do valor do tipo.

Retornar valor

Essa função não retorna um valor.

Comentários

A função glCallLists faz com que cada lista de exibição na lista de nomes passados como listas seja executada. Como resultado, as funções salvas em cada lista de exibição são executadas em ordem, assim como se fossem chamadas sem usar uma lista de exibição. Os nomes das listas de exibição que não foram definidas são ignorados.

A função glCallLists fornece um meio eficiente para executar listas de exibição. O parâmetro n especifica o número de listas com vários formatos de nome (especificados pelo parâmetro type ) que glCallLists executa.

A lista de nomes de lista de exibição não é terminada em nulo. Em vez disso, n especifica quantos nomes devem ser retirados das listas.

A função glListBase disponibiliza um nível adicional de indireção. A função glListBase especifica um deslocamento sem sinal que é adicionado a cada nome de lista de exibição especificado em listas antes que essa lista de exibição seja executada.

A função glCallLists pode aparecer dentro de uma lista de exibição. Para evitar a possibilidade de recursão infinita resultante de listas de exibição chamando umas às outras, um limite é colocado no nível de aninhamento das listas de exibição durante a execução da lista de exibição. Esse limite deve ser de pelo menos 64 e depende da implementação.

O estado OpenGL não é salvo e restaurado em uma chamada para glCallLists. Portanto, as alterações feitas no estado OpenGL durante a execução das listas de exibição permanecem após a conclusão da execução. Use glPushAttrib, glPopAttrib, glPushMatrix e glPopMatrix para preservar o estado OpenGL em chamadas glCallLists .

Você pode executar listas de exibição entre uma chamada para glBegin e a chamada correspondente para glEnd, desde que a lista de exibição inclua apenas funções permitidas nesse intervalo.

As seguintes funções recuperam informações relacionadas à função glCallLists :

glGet com GL_LIST_BASE de argumento

glGet com GL_MAX_LIST_NESTING de argumento

glIsList

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glBegin

glCallList

glDeleteLists

glEnd

glGenLists

glGet

glIsList

glListBase

glNewList

glPopAttrib

glPopMatrix

glPushAttrib

glPushMatrix