Поделиться через


Функция glEdgeFlagPointer

Функция glEdgeFlagPointer определяет массив флагов ребер.

Синтаксис

void WINAPI glEdgeFlagPointer(
         GLsizei stride,
   const GLvoid  *pointer
);

Параметры

Шаг

Смещение байтов между последовательными флагами ребер. Если шаг равен нулю, флаги ребер плотно упаковываются в массив.

Указатель

Указатель на флаг первого края в массиве.

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

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

Коды ошибок

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

Имя Значение
GL_INVALID_ENUM
шаг илисчетчик был отрицательным.

Комментарии

Функция glEdgeFlagPointer задает расположение и данные массива логических флагов ребер, используемых при отрисовке. Параметр stride определяет смещение байтов от одного флага ребер к следующему, что позволяет упаковывать вершины и атрибуты в одном массиве или хранилище в отдельных массивах. В некоторых реализациях хранение вершин и атрибутов в одном массиве может быть более эффективным, чем использование отдельных массивов.

Массив флагов ребер включается при указании константы GL_EDGE_FLAG_ARRAY с помощью glEnableClientState. Если этот параметр включен, glDrawArrays или glArrayElement используют массив edge-flag. По умолчанию массив edge-flag отключен.

Используйте glDrawArrays для создания последовательности примитивов (все одного типа) из предопределенных массивов вершин и атрибутов вершин. Используйте glArrayElement для указания примитивов путем индексирования вершин и атрибутов вершин, а glDrawElements — для создания последовательности примитивов путем индексирования вершин и атрибутов вершин.

Невозможно включить glEdgeFlagPointer в отображаемые списки.

При указании массива edge-flag с помощью glEdgeFlagPointer значения всех параметров массива флагов ребер функции сохраняются в клиентском состоянии, а статические элементы массива могут кэшироваться. Так как параметры массива флага края находятся в клиентском состоянии, значения glPushAttrib и glPopAttrib не сохраняются и не восстанавливаются.

Хотя вызов glEdgeFlagPointer в паре glBegin glBegin/glend не приводит к ошибке, результаты не определены.

Следующие функции извлекают сведения, связанные с функцией glEdgeFlagPointer :

glGet с аргументом GL_EDGE_FLAG_ARRAY_STRIDE

glGet с аргументом GL_EDGE_FLAG_ARRAY_COUNT

glGetPointerv с аргументом GL_EDGE_FLAG_ARRAY_POINTER

glIsEnabled с аргументом GL_EDGE_FLAG_ARRAY

Требования

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

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

glArrayElement

glBegin

glColorPointer

glDrawArrays

glEnableClientState

glEnd

glGet

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glPopAttrib

glPushAttrib

glTexCoordPointer

glVertexPointer