Compartilhar via


Função glDrawElements

A função glDrawElements renderiza primitivos de dados de matriz.

Sintaxe

void WINAPI glDrawElements(
         GLenum  mode,
         GLsizei count,
         GLenum  type,
   const GLvoid  *indices
);

Parâmetros

mode

O tipo de primitivos a serem renderizados. Ele pode assumir um dos seguintes valores simbólicos: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS e GL_POLYGON.

contagem

O número de elementos a serem renderizados.

tipo

O tipo dos valores em índices. Deve ser um dos GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT ou GL_UNSIGNED_INT.

índices

Um ponteiro para o local onde os índices são armazenados.

Retornar valor

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

Códigos de erro

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

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

Comentários

A função glDrawElements permite que você especifique vários primitivos geométricos com pouquíssimas chamadas de função. Em vez de chamar uma função OpenGL para passar cada vértice, normal ou cor individual, você pode especificar matrizes separadas de vértices, normais e cores com antecedência e usá-las para definir uma sequência de primitivos (todos do mesmo tipo) com uma única chamada para glDrawElements.

Quando você chama a função glDrawElements , ela usa elementos sequenciais de contagem de índices para construir uma sequência de primitivos geométricos. O parâmetro mode especifica que tipo de primitivos são construídos e como os elementos da matriz são usados para construir esses primitivos. Se GL_VERTEX_ARRAY não estiver habilitado, nenhum primitivo geométrico será gerado.

Os atributos de vértice modificados por glDrawElements têm um valor não especificado após o retorno de glDrawElements . Por exemplo, se GL_COLOR_ARRAY estiver habilitado, o valor da cor atual será indefinido após a execução de glDrawElements . Os atributos que não são modificados permanecem inalterados.

Você pode incluir a função glDrawElements em listas de exibição. Quando glDrawElements é incluído em uma lista de exibição, os dados de matriz necessários (determinados pelos ponteiros e habilitações da matriz) também são inseridos na lista de exibição. Como os ponteiros e as habilitações da matriz são variáveis de estado do lado do cliente, seus valores afetam as listas de exibição quando as listas são criadas, não quando as listas são executadas.

Observação

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

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

glBegin

glColorPointer

glDrawArrays

glEdgeFlagPointer

glEnd

glGetPointerv

glIndexPointer

glNormalPointer

glTexCoordPointer

glVertexPointer