Функция glNewList
Функции glNewList и glEndList создают или заменяют отображаемый список.
void WINAPI glNewList(
GLuint list,
GLenum mode
);
-
list
-
Имя отображаемого списка.
-
mode
-
Режим компиляции. Принимаются следующие значения.
Значение Значение - GL_COMPILE
Команды просто компилируются. - GL_COMPILE_AND_EXECUTE
Команды выполняются по мере их компиляции в отображаемый список.
Эта функция не возвращает значение.
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
список равен нулю. |
|
mode не является допустимым значением. |
|
Функция была вызвана между вызовом 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 [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|