Compartilhar via


Função glInterleavedArrays

A função glInterleavedArrays especifica simultaneamente e habilita várias matrizes intercaladas em uma matriz de agregação maior.

Sintaxe

void WINAPI glInterleavedArrays(
         GLenum  format,
         GLsizei stride,
   const GLvoid  *pointer
);

Parâmetros

format

O tipo de matriz a ser habilitada. O parâmetro pode assumir um dos seguintes valores simbólicos: GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F ou GL_T4F_C4F_N3F_V4F.

Passo

O deslocamento em bytes entre cada elemento de matriz agregada.

Ponteiro

Um ponteiro para o primeiro elemento de uma matriz de agregação.

Retornar valor

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

Códigos do Erro

Os códigos de erro a seguir podem ser recuperados pela função glGetError .

Name Significado
GL_INVALID_ENUM
formato não era um valor aceito.
GL_INVALID_VALUE
stride foi um valor negativo.
GL_INVALID_OPERATION
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

Com a função glInterleavedArrays , você pode especificar e habilitar simultaneamente várias matrizes de cores intercaladas, normais, textura e vértice cujos elementos fazem parte de um elemento de matriz de agregação maior. Para algumas arquiteturas de memória, isso é mais eficiente do que especificar as matrizes separadamente.

Se o parâmetro stride for zero, os elementos da matriz de agregação serão armazenados consecutivamente; caso contrário, bytes passo ocorrem entre elementos de matriz agregada.

O parâmetro de formato serve como uma chave que descreve como extrair matrizes individuais da matriz de agregação:

  • Se o formato contiver um T, as coordenadas de textura serão extraídas da matriz intercalada.
  • Se C estiver presente, os valores de cor serão extraídos.
  • Se N estiver presente, coordenadas normais serão extraídas.
  • As coordenadas de vértice são sempre extraídas.
  • Os dígitos 2, 3 e 4 indicam quantos valores são extraídos.
  • F indica que os valores são extraídos como valores de ponto flutuante.
  • Se 4UB seguir o C, as cores também poderão ser extraídas como 4 bytes não assinados. Se uma cor for extraída como 4 bytes não assinados, o elemento de matriz de vértice a seguir estará localizado no primeiro endereço alinhado de ponto flutuante possível.

Se você chamar glInterleavedArrays durante a compilação de uma lista de exibição, ela não será compilada na lista, mas será executada imediatamente.

Você não pode incluir chamadas para glInterleavedArrays em glDisableClientState entre chamadas para glBegin e a chamada correspondente para glEnd.

Observação

A função glInterleavedArrays só está disponível no OpenGL versão 1.1 ou posterior.

A função glInterleavedArrays é implementada no lado do cliente sem protocolo. Como os parâmetros da matriz de vértice são o estado do lado do cliente, eles não são salvos ou restaurados por glPushAttrib e glPopAttrib. Use glPushClientAttrib e glPopClientAttrib .

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

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glIndexPointer

glNormalPointer

glPushAttrib

glPushClientAttrib

glTexCoordPointer

glVertexPointer