|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
glCallLists
The glCallLists function executes a list of display lists.
void glCallLis0s( GLsizei n, GLenum type, const GLvoid *lists );
Parameters
n
Specifies the number of display lists to be executed.
type
Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted.
lists
Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type.
Remarks
The glCallLists function causes each display list in the list of names passed as lists to be executed. As a result, the commands saved in each display list are executed in order, just as if they were called without using a display list. Names of display lists that have not been defined are ignored. The glCallLists function provides an efficient means for executing display lists.The n parameter allows lists with various name formats to be accepted. The formats are as follows:
GL_BYTE
The lists parameter is treated as an array of signed bytes, each in the range - 128 through 127.
GL_UNSIGNED_BYTE
The lists parameter is treated as an array of unsigned bytes, each in the range 0 through 255.
GL_SHORT
The lists parameter is treated as an array of signed two-byte integers, each in the range - 32768 through 32767.
GL_UNSIGNED_SHORT
The lists parameter is treated as an array of unsigned two-byte integers, each in the range 0 through 65535.
GL_INT
The lists parameter is treated as an array of signed four-byte integers.
GL_UNSIGNED_INT
The lists parameter is treated as an array of unsigned four-byte integers.
GL_FLOAT
The lists parameter is treated as an array of four-byte floating-point values.
GL_2_BYTES
The lists parameter is treated as an array of unsigned bytes. Each pair of bytes specifies a single display-list name. The value of the pair is computed as 256 times the unsigned value of the first byte plus the unsigned value of the second byte.
GL_3_BYTES
The lists parameter is treated as an array of unsigned bytes. Each triplet of bytes specifies a single display-list name. The value of the triplet is computed as 65536 times the unsigned value of the first byte, plus 256 times the unsigned value of the second byte, plus the unsigned value of the third byte.
GL_4_BYTES
The lists parameter is treated as an array of unsigned bytes. Each quadruplet of bytes specifies a single display-list name. The value of the quadruplet is computed as 16777216 times the unsigned value of the first byte, plus 65536 times the unsigned value of the second byte, plus 256 times the unsigned value of the third byte, plus the unsigned value of the fourth byte.
The list of display list names is not null-terminated. Rather, n specifies how many names are to be taken from lists. An additional level of indirection is made available with the glListBase command, which specifies an unsigned offset that is added to each display-list name specified in lists before that display list is executed. The glCallLists function can appear inside a display list. To avoid the possibility of infinite recursion resulting from display lists calling one another, a limit is placed on the nesting level of display lists during display-list execution. This limit must be at least 64, and it depends on the implementation.
GL state is not saved and restored across a call to glCallLists. Thus, changes made to GL state during the execution of the display lists remain after execution is completed. Use glPushAttrib, glPopAttrib, glPushMatrix, and glPopMatrix to preserve GL state across glCallLists calls. Display lists can be executed between a call to glBegin and the corresponding call to glEnd, as long as the display list includes only commands that are allowed in this interval.
The following functions retrieve information related to the glCallLists function: glGet with argument GL_LIST_BASE glGet with argument GL_MAX_LIST_NESTING glIsList
See Also
glCallList, glDeleteLists, glGenLists, glListBase, glNewList, glPushAttrib, glPushMatrix
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
glCallLists
Функция glCallLists выполняет список дисплейных списков.
пустота glCallLis0s( GLsizei n, тип GLenum, const GLvoid *списки );
Параметры
n
Определяет количество дисплейных списков, чтобы быть выполненн.
тип
Определяет тип величин в списках. Символические константы GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, и GL_4_BYTES приняты.
списки
Определяет адрес массива компенсации имени в дисплейном списке. Тип указателя является пустотой поскольку компенсация может быть байтами, шортами, ints, или поплавками, в зависимости от величины типа.
Замечания
Функция glCallLists вызывает каждый дисплейный список в список имен пройденных как списки, чтобы быть выполненн. В результате, команды сохраненные в каждом дисплейном списке выполнены в порядке, подобно тому, как если они не были названы используя дисплейный список. Имена дисплейных списков, что не определен, проигнорированы. Функция glCallLists обеспечивает эффективные средства чтобы выполнять дисплейные списки.n Параметр допускает списки с различными форматами имени, чтобы быть принят. Форматы - следующим образом:
GL_BYTE
Параметр списков рассмотрен как массив подписанных байтов, каждый в дипазоне - 128 по 127.
GL_UNSIGNED_BYTE
Параметр списков рассмотрен как массив без знака байтов, каждый в дипазоне 0 по 255.
GL_SHORT
Параметр списков рассмотрен как массив подписанных двух байтовых целых, каждый в дипазоне - 32768 по 32767.
GL_UNSIGNED_SHORT
Параметр списков рассмотрен как массив без знака двух байтовых целых, каждый в дипазоне 0 по 65535.
GL_INT
Параметр списков рассмотрен как массив подписанных четырех байтовых целых.
GL_UNSIGNED_INT
Параметр списков рассмотрен как массив без знака четырех байтовых целых.
GL_FLOAT
Параметр списков рассмотрен как массив четырех байтовой плавающей точки величин.
GL_2_BYTES
Параметр списков рассмотрен как массив без знака байтов. Каждая пара байтов определяет дисплейный список единственного имени. Величина пары вычислена как 256 раз без знака величина первого байта плюс без знака величина второго байта.
GL_3_BYTES
Параметр списков рассмотрен как массив без знака байтов. Каждый триплет байтов определяет дисплейный список единственного имени. Величина триплета вычислена как 65536 раз без знака величина первого байта, плюс 256 раз без знака величина второго байта, плюс без знака величина третьего байта.
GL_4_BYTES
Параметр списков рассмотрен как массив без знака байтов. Каждый quadruplet байтов определяет дисплейный список единственного имени. Величина quadruplet вычислена как 16777216 раз без знака величина первого байта, плюс 65536 раз без знака величина второго байта, плюс 256 раз без знака величина третьего байта, плюс без знака величина четвертого байта.
Список дисплейных имен списка не недействительный расторгнутый. Предпочтительно, n определяет, что сколько имен должны быть взяты из списков. Дополнительный уровень косвенности сделан доступным с glListBase команду, которая определяет без знака смещение, которое добавлено к каждому дисплейному списку имени определенному в списках прежде, чем этот дисплейный список будет выполнен. Функция glCallLists может появиться в дисплейном списке. Для того, чтобы избегать возможности бесконечной рекурсии, проистекающей из дисплейных списков, вызывающих друг другу, предел установлен в вложенности уровня дисплейных списков в течение дисплейного списка выполнения. Этот предел должен быть в 64, и это зависит от реализации.
СОСТОЯНИЕ GL не сохранено и восстановлено через вызов на glCallLists. Таким образом, изменения сделанные на GL указываются в течение выполнения дисплейных списков оставаться после того, как выполнение будет завершено. Используйте glPushAttrib, glPopAttrib, glPushMatrix, и glPopMatrix, чтобы сохранять состояние GL через вызовы glCallLists. Дисплейные списки могут быть выполнены между вызовом на glBegin и соответствующий вызов на glEnd, так же долго (длиной) как дисплейный список включает только командует, что допущены в этот интервал.
Следующее функций извлекает информацию имело отношение к функции glCallLists: glGet С аргументом GL_LIST_BASE glGet с аргументом GL_MAX_LIST_NESTING glIsList
Смотри Также
glCallList, glDeleteLists, glGenLists, glListBase, glNewList, glPushAttrib, glPushMatrix
| |
|
|
| |