Функция glBegin

Функции glBegin и glend разделяют вершины примитива или группы подобных примитивов.

Синтаксис

void WINAPI glBegin(
   GLenum mode
);

Параметры

mode

Примитивы или примитивы, которые будут созданы из вершин, представленных между glBegin и последующим glend. Ниже приведены допустимые символьные константы и их значения.

Значение Значение
GL_POINTS
Рассматривает каждую вершину как единую точку. Вершина n определяет точку n. Отрисовывается N точек.
GL_LINES
Обрабатывает каждую пару вершин как независимый сегмент линии. Вершины 2n - 1 и 2n определяют строку n. Рисуются N/2 линии.
GL_LINE_STRIP
Рисует соединенную группу сегментов линий от первой вершины до последней. Вершины n и n+1 определяют строку n. N — рисуется 1 линия.
GL_LINE_LOOP
Рисует соединенную группу сегментов линий от первой вершины до последней, а затем обратно к первой. Вершины n и n + 1 определяют строку n. Последняя строка, однако, определяется вершинами N и 1. Рисуется N линий.
GL_TRIANGLES
Рассматривает каждый триплет вершин как независимый треугольник. Вершины 3n - 2, 3n - 1 и 3n определяют треугольник n. Рисуются N/3 треугольников.
GL_TRIANGLE_STRIP
Рисует соединенную группу треугольников. Для каждой вершины, представленной после первых двух вершин, определяется один треугольник. Для нечетных n вершин n, n + 1 и n + 2 определяют треугольник n. Для четных n вершины n + 1, n и n + 2 определяют треугольник n. N — рисуются 2 треугольника.
GL_TRIANGLE_FAN
Рисует соединенную группу треугольников. Для каждой вершины, представленной после первых двух вершин, определяется один треугольник. Вершины 1, n + 1, n + 2 определяют треугольник n. N — рисуются 2 треугольника.
GL_QUADS
Рассматривает каждую группу из четырех вершин как независимый четырехугольник. Вершины 4n - 3, 4n - 2, 4n - 1 и 4n определяют четырехугольник n. Рисуются n/4 четырехугольника.
GL_QUAD_STRIP
Рисует соединенную группу четырехугольника. Для каждой пары вершин, представленной после первой пары, определяется один четырехугольник. Вершины 2n - 1, 2n, 2n + 2 и 2n + 1 определяют четырехугольник n. N/2 — рисуется 1 четырехугольник. Обратите внимание, что порядок, в котором вершины используются для создания четырехугольника из полосовых данных, отличается от порядка, используемого с независимыми данными.
GL_POLYGON
Рисует один выпуклый многоугольник. Вершины от 1 до N определяют этот многоугольник.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
для параметра mode задано непринятое значение.
GL_INVALID_OPERATION
Функция, отличаемая от glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList или glCallLists , была вызвана между glBegin и соответствующим glend glend. Функция glend была вызвана до вызова соответствующего glBegin , или glBegin был вызван в последовательности glBegin glBegin/glend .

Комментарии

Функции glBegin и glend разделяют вершины, которые определяют примитив или группу подобных примитивов. Функция glBegin принимает один аргумент, указывающий, какие из десяти примитивов составляют вершины. Принимая n как целочисленное число, начиная с единицы, и N как общее число указанных вершин, интерпретации будут следующим образом:

  • Между glBegin и glend можно использовать только подмножество функций OpenGL. Вы можете использовать следующие функции:

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    GlEvalPoint

    glMaterial

    glEdgeFlag

    Вы также можете использовать glCallList или glCallLists для выполнения списков отображения, включающих только предыдущие функции. Если между glBegin и glend вызывается какая-либо другая функция OpenGL, устанавливается флаг ошибки, а функция игнорируется.

  • Независимо от значения, выбранного для режима в glBegin, количество вершин, которые можно определить между glBegin и glend, не ограничено. Линии, треугольники, четырехугольник и многоугольник, которые не указаны полностью, не рисуются. Неполные результаты спецификации, если предоставлено слишком мало вершин для указания даже одного примитива или указано неверное число вершин. Неполный примитив игнорируется; рисуются полные примитивы.

  • Минимальная спецификация вершин для каждого примитива:

    Минимальное число вершин Тип примитива
    1 point
    2 line
    3 треугольник
    4 Четырехугольник
    3 polygon
  • Режимы, для которых требуется определенное число вершин, имеют GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4) и GL_QUAD_STRIP (2).

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex