Função glBegin

As funções glBegin e glend delimitam os vértices de um primitivo ou um grupo de primitivos semelhantes.

Sintaxe

void WINAPI glBegin(
   GLenum mode
);

Parâmetros

mode

Os primitivos ou primitivos que serão criados a partir de vértices apresentados entre glBegin e o glend subsequente. A seguir estão aceitas constantes simbólicas e seus significados:

Valor Significado
GL_POINTS
Trata cada vértice como um único ponto. O vértice n define o ponto n. N pontos são desenhados.
GL_LINES
Trata cada par de vértices como um segmento de linha independente. Vértices 2n - 1 e 2n definem a linha n. N/2 linhas são desenhadas.
GL_LINE_STRIP
Desenha um grupo conectado de segmentos de linha do primeiro vértice ao último. Os vértices n e n+1 definem a linha n. N – 1 linhas são desenhadas.
GL_LINE_LOOP
Desenha um grupo conectado de segmentos de linha do primeiro vértice ao último e, em seguida, volta para o primeiro. Os vértices n e n + 1 definem a linha n. A última linha, no entanto, é definida pelos vértices N e 1. N linhas são desenhadas.
GL_TRIANGLES
Trata cada trigêmeo de vértices como um triângulo independente. Vértices 3n - 2, 3n - 1 e 3n definem o triângulo n. Triângulos N/3 são desenhados.
GL_TRIANGLE_STRIP
Desenha um grupo conectado de triângulos. Um triângulo é definido para cada vértice apresentado após os dois primeiros vértices. Para n ímpares, os vértices n, n + 1 e n + 2 definem o triângulo n. Para n par, os vértices n + 1, n e n + 2 definem o triângulo n. N - 2 triângulos são desenhados.
GL_TRIANGLE_FAN
Desenha um grupo conectado de triângulos. um triângulo é definido para cada vértice apresentado após os dois primeiros vértices. Os vértices 1, n + 1, n + 2 definem o triângulo n. N - 2 triângulos são desenhados.
GL_QUADS
Trata cada grupo de quatro vértices como um quadrilátero independente. Vértices 4n - 3, 4n - 2, 4n - 1 e 4n definem quadrilateral n. N/4 quadriláteros são desenhados.
GL_QUAD_STRIP
Desenha um grupo conectado de quadriláteros. Um quadrilátero é definido para cada par de vértices apresentados após o primeiro par. Vértices 2n - 1, 2n, 2n + 2 e 2n + 1 definem quadrilateral n. N/2 - 1 quadriláteros são desenhados. Observe que a ordem na qual os vértices são usados para construir um quadrilátero com base em dados de faixa é diferente daquela usada com dados independentes.
GL_POLYGON
Desenha um polígono convexo único. Os vértices de 1 a N definem esse polígono.

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 foi definido como um valor não aceita.
GL_INVALID_OPERATION
Uma função diferente de glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList ou glCallLists foi chamada entre glBegin e o glend correspondente. A função glend foi chamada antes do glBegin correspondente ser chamado ou glBegin foi chamado dentro de uma sequência de glend glBegin/.

Comentários

As funções glBegin e glend delimitam os vértices que definem um primitivo ou um grupo de primitivos semelhantes. A função glBegin aceita um único argumento que especifica qual dos dez primitivos os vértices compõem. Tomando n como uma contagem de inteiros começando em um e N como o número total de vértices especificado, as interpretações são as seguintes:

  • Você pode usar apenas um subconjunto de funções OpenGL entre glBegin e glend. As funções que você pode usar são:

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    glEvalPoint

    glMaterial

    glEdgeFlag

    Você também pode usar glCallList ou glCallLists para executar listas de exibição que incluem apenas as funções anteriores. Se qualquer outra função OpenGL for chamada entre glBegin e glend, o sinalizador de erro será definido e a função será ignorada.

  • Independentemente do valor escolhido para o modo em glBegin, não há limite para o número de vértices que você pode definir entre glBegin e glend. Linhas, triângulos, quadriláteros e polígonos especificados incompletamente não são desenhados. Resultados de especificação incompletos quando poucos vértices são fornecidos para especificar até mesmo um único primitivo ou quando um múltiplo incorreto de vértices é especificado. O primitivo incompleto é ignorado; os primitivos completos são desenhados.

  • A especificação mínima de vértices para cada primitivo é:

    Número mínimo de vértices Tipo de primitivo
    1 point
    2 line
    3 triangle
    4 Quadrilátero
    3 polygon
  • Os modos que exigem um determinado múltiplo de vértices são GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4) e GL_QUAD_STRIP (2).

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

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex