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


Функция glNewList

Функции glNewList и glEndList создают или заменяют отображаемый список.

Синтаксис

void WINAPI glNewList(
   GLuint list,
   GLenum mode
);

Параметры

list

Имя отображаемого списка.

mode

Режим компиляции. Принимаются следующие значения.

Значение Значение
GL_COMPILE
Команды просто компилируются.
GL_COMPILE_AND_EXECUTE
Команды выполняются по мере их компиляции в отображаемый список.

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

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

Коды ошибок

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

Имя Значение
GL_INVALID_VALUE
список равен нулю.
GL_INVALID_ENUM
mode не является допустимым значением.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Отображаемые списки — это группы команд OpenGL, которые были сохранены для последующего выполнения. Списки отображения создаются с помощью glNewList. Все последующие команды помещаются в список отображения в порядке выдачи до вызова glEndList .

Функция glNewList имеет два параметра. Первый параметр list — это положительное целое число, которое становится уникальным именем отображаемого списка. Имена можно создавать и резервировать с помощью glGenLists , а также проверять на уникальность с помощью glIsList. Второй параметр, mode, является символьной константой, которая может предполагать одно из двух предыдущих значений.

Некоторые команды не компилируются в отображаемый список, а выполняются немедленно, независимо от режима отображения списка. Это команды glColorPointer, glDeleteLists, glDisableClientState, glEdgeFlagPointer, glEnableClientState, glFeedbackBuffer, glFinish, glFlush, glGenLists, glIndexPointer, glInterleavedArrays, glIsEnabled, glIsList, glNormalPointer, glPopClientAttrib, glPixelStore, glPushClientAttrib, glReadPixels, glRenderMode, glSelectBuffer, glTexCoordPointer, glVertexPointer и все подпрограммы glGet .

Аналогичным образом , glTexImage2D и glTexImage1D выполняются немедленно и не компилируются в список отображения, если их первый аргумент GL_PROXY_TEXTURE_2D или GL_PROXY_TEXTURE_1D соответственно.

При обнаружении функции glEndList определение отображаемого списка завершается путем связывания списка с уникальным списком имен (указанным в команде glNewList ). Если отображаемый список со списком имен уже существует, он заменяется только при вызове glEndList .

Функции glCallList и glCallLists можно вводить в списки отображения. Команды в списке отображения или списках, выполняемых glCallList или glCallLists , не включаются в создаваемый список отображения, даже если режим создания списка GL_COMPILE_AND_EXECUTE.

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

glGet с GL_MATRIX_MODE аргументов

Требования

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

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

glBegin

glCallList

glCallLists

glDeleteLists

glEnd

glEndList

glGenLists

glIsList