Función glBegin

Las funciones glBegin y glend delimitan los vértices de un primitivo o un grupo de primitivos similares.

Sintaxis

void WINAPI glBegin(
   GLenum mode
);

Parámetros

mode

Primitivos o primitivos que se crearán a partir de vértices presentados entre glBegin y el siguiente glend. A continuación se aceptan constantes simbólicas y sus significados:

Value Significado
GL_POINTS
Trata cada vértice como un único punto. El vértice n define el punto n. Se dibujan N puntos.
GL_LINES
Trata cada par de vértices como un segmento de línea independiente. Los vértices 2n - 1 y 2n definen la línea n. Se dibujan N/2 líneas.
GL_LINE_STRIP
Dibuja un grupo conectado de segmentos de línea desde el primer vértice hasta el último. Los vértices n y n+1 definen la línea n. N - 1 líneas se dibujan.
GL_LINE_LOOP
Dibuja un grupo conectado de segmentos de línea del primer vértice al último y, a continuación, vuelve al primero. Los vértices n y n + 1 definen la línea n. Sin embargo, la última línea se define mediante vértices N y 1. Se dibujan N líneas.
GL_TRIANGLES
Trata cada triplete de vértices como un triángulo independiente. Los vértices 3n - 2, 3n - 1 y 3n definen el triángulo n. Se dibujan triángulos N/3.
GL_TRIANGLE_STRIP
Dibuja un grupo conectado de triángulos. Se define un triángulo para cada vértice presentado después de los dos primeros vértices. Para n impares, vértices n, n + 1 y n + 2 definen el triángulo n. Para incluso n, los vértices n + 1, n y n + 2 definen el triángulo n. N - 2 triángulos se dibujan.
GL_TRIANGLE_FAN
Dibuja un grupo conectado de triángulos. se define un triángulo para cada vértice presentado después de los dos primeros vértices. Los vértices 1, n + 1, n + 2 definen el triángulo n. N - 2 triángulos se dibujan.
GL_QUADS
Trata cada grupo de cuatro vértices como un cuadrilátero independiente. Los vértices 4n - 3, 4n - 2, 4n - 1 y 4n definen quadrilaterales n. Se dibujan N/4 cuadrilaterales.
GL_QUAD_STRIP
Dibuja un grupo conectado de cuadrilaterales. Se define un cuadrilátero para cada par de vértices presentados después del primer par. Los vértices 2n - 1, 2n, 2n + 2 y 2n + 1 definen quadrilaterales n. N/2 - 1 cuadrilaterales se dibujan. Tenga en cuenta que el orden en que se usan los vértices para construir un cuadrilátero a partir de datos de bandas es diferente del utilizado con datos independientes.
GL_POLYGON
Dibuja un único polígono convexa. Los vértices 1 a N definen este polígono.

Valor devuelto

Esta función no devuelve ningún valor.

Códigos de error

La función glGetError puede recuperar los siguientes códigos de error.

Nombre Significado
GL_INVALID_ENUM
mode se estableció en un valor no aceptado.
GL_INVALID_OPERATION
Se llamó a una función distinta de glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList o glCallLists entre glBegin y el glend correspondiente. Se llamó a la función glend antes de llamar a la glBegin correspondiente, o se llamó a glBegin dentro de una secuencia glBegin/glend .

Comentarios

Las funciones glBegin y glend delimitan los vértices que definen un primitivo o un grupo de primitivos similares. La función glBegin acepta un único argumento que especifica cuál de diez primitivos componen los vértices. Tomando n como recuento de enteros a partir de uno y N como el número total de vértices especificados, las interpretaciones son las siguientes:

  • Solo puede usar un subconjunto de funciones de OpenGL entre glBegin y glend. Las funciones que puede usar son:

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    glEvalPoint

    glMaterial

    glEdgeFlag

    También puede usar glCallList o glCallLists para ejecutar listas de visualización que incluyan solo las funciones anteriores. Si se llama a cualquier otra función de OpenGL entre glBegin y glend, se establece la marca de error y se omite la función.

  • Independientemente del valor elegido para el modo en glBegin, no hay límite para el número de vértices que se pueden definir entre glBegin y glend. Las líneas, triángulos, cuadrilaterales y polígonos que están incompletos especificados no se dibujan. Los resultados de la especificación incompleta cuando se proporcionan demasiados vértices para especificar incluso un único primitivo o cuando se especifica un múltiplo incorrecto de vértices. Se omite el primitivo incompleto; se dibujan los primitivos completos.

  • La especificación mínima de vértices para cada primitivo es:

    Número mínimo de vértices Tipo de primitivo
    1 point
    2 line
    3 triangle
    4 Cuadrilátero
    3 polygon
  • Los modos que requieren un determinado múltiplo de vértices son GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4) y GL_QUAD_STRIP (2).

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Consulte también

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex