|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
glIndexPointerEXT
The glIndexPointerEXT function defines an array of color indexes.
void glIndexPointerEXT( GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer );
Parameters
type
Specifies the datatype of each color index in the array using the following symbolic constants: GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE_EXT
stride
Specifies the byte offset between consecutive color indexes. When stride is zero, the color indexes are tightly packed in the array.
count
Specifies the number of color indexes, counting from the first, that are static.
pointer
Specifies a pointer to the first color index in the array.
Remarks
The glIndexPointerEXT function specifies the location and data of an array of color indexes to use when rendering. The type parameter specifies the datatype of each color index and stride determines the byte offset from one color index to the next, enabling the packing of vertexes and attributes in a single array or storage in separate arrays. In some implementations storing the vertexes and attributes in a single array can be more efficient than using separate arrays. Starting from the first color index element, count indicates the total number of static elements. Your application can modify static elements, but once the elements are modified, the application must explicitly specify the array again before using the array for any rendering. Non-static array elements are not accessed until you call glDrawArraysEXT or glArrayElementEXT.
A color-index array is enabled when you specify the GL_INDEX_ARRAY_EXT constant with glEnable. When enabled, glDrawArraysEXT and glArrayElementEXT use the color index array. By default the color-index array is disabled. You cannot include glIndexPointerEXT in display lists. When you specify a color-index array using glIndexPointerEXT, the values of all the function's color-index array parameters are saved in a client-side state and static array elements can be cached. Because the color-index array parameters are client-side state, their values are not saved or restored by glPushAttrib and glPopAttrib.
Although no error is generated when you call glIndexPointerEXT within glBegin and glEnd pairs, the results are undefined.
Note The glIndexPointerEXT function is an extension function that is not part of the standard OpenGL library but is part of the GL_EXT_vertex_array extension. To check whether your implementation of OpenGL supports glIndexPointerEXT, call glGetString(GL_EXTENSIONS). If it returns GL_EXT_vertex_array, glIndexPointerEXT is supported. To obtain the address of an extension function, call wglGetProcAddress.
The following functions retrieve information related to the glIndexPointerEXT function: glIsEnabled with argument GL_INDEX_ARRAY_EXT glGet with argument GL_INDEX_ARRAY_STRIDE_EXT glGet with argument GL_INDEX_ARRAY_COUNT_EXT glGet with argument GL_INDEX_ARRAY_TYPE_EXT glGet with argument GL_INDEX_ARRAY_SIZE_EXT glGetPointervEXT with argument GL_INDEX_ARRAY_POINTER_EXT
Errors
GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride or count is negative.
See Also
glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glEdgeFlagPointerEXT, glGetPointervEXT, glNormalPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glGetString, wglGetProcAddress
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
glIndexPointerEXT
Функция glIndexPointerEXT определяет массив цветных индексов.
пустота glIndexPointerEXT( тип GLenum, большой шаг GLsizei, счет GLsizei, const GLvoid *указатель );
Параметры
тип
Определяет datatype каждого цветного индекса в массиве, использовавшем следующие символические константы: GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE_EXT
большой шаг
Определяет байтовую компенсацию между последовательными цветными индексами. Когда большой шаг является нулем, цветные индексы плотно упакованы в массив.
счет
Определяет количество цветных индексов, счета из первого, который статический.
указатель
Определяет указатель в первый цветной индекс в массиве.
Замечания
Функция glIndexPointerEXT определяет позицию и данные массива цветных индексов, чтобы использоваться при предоставлении. Параметр типа определяет datatype каждого цветного индекса и большой шаг определяет байтовое смещение от одного цветного индекса до следующего, включения упаковки вершин и атрибутов в единственном массиве или памяти в отдельном подготавливается. В некоторых реализациях, хранящих вершины и атрибуты в единственном массиве могут быть более эффективными чем использование разделять подготавливается. Начиная с первого цветного индексного элемента, счет указывает общее число статических элементов. Ваше приложение может модифицировать статические элементы, но как только элементы будут модифицированы, приложение должно явно определить массив снова перед использованием массива для любого предоставления. Не-статические элементы массива не доступны пока Вы не назовете glDrawArraysEXT или glArrayElementEXT.
Цветной-индексный массив приспособлен когда Вы определяете константу GL_INDEX_ARRAY_EXT с glEnable. Когда приспособлено, glDrawArraysEXT и glArrayElementEXT использует цветной индексный массив. По умолчанию цветной-индексный массив выведен из строя. Вы не можете включить glIndexPointerEXT в дисплейных списках. Когда Вы определяете цветной-индексный массив, использовавший glIndexPointerEXT, величины всех функциональных цветных-индексных параметров массива сохранены в клиент-боковом состоянии и статические элементы массива могут быть кешированы. Поскольку цветные-индексные параметры массива являются клиент-боковым состоянием, их величины не сохранены или восстановлены glPushAttrib и glPopAttrib.
Хотя никакая ошибка не сгенерирована когда Вы называете glIndexPointerEXT в пределах glBegin и пары glEnd, результаты неопределенные.
Отметьте что функция glIndexPointerEXT является функцией расширения, которая - не часть стандартной библиотеки OpenGL но - часть расширения GL_EXT_vertex_array. Для того, чтобы проверять независимо вашу реализацию опор OpenGL glIndexPointerEXT, glGetString вызова(GL_EXTENSIONS). Если это возвращает GL_EXT_vertex_array, glIndexPointerEXT поддерживан. Для того, чтобы получать адрес функции расширения, назовите wglGetProcAddress.
Следующее функций извлекает информацию имело отношение к функции glIndexPointerEXT: glIsEnabled АРГУМЕНТОМ GL_INDEX_ARRAY_EXT glGet с аргументом GL_INDEX_ARRAY_STRIDE_EXT glGet с аргументом GL_INDEX_ARRAY_COUNT_EXT glGet с аргументом GL_INDEX_ARRAY_TYPE_EXT glGet с аргументом GL_INDEX_ARRAY_SIZE_EXT glGetPointervEXT с аргументом GL_INDEX_ARRAY_POINTER_EXT
Ошибки
GL_INVALID_ENUM сгенерирован если тип не является допустимой величиной. GL_INVALID_VALUE сгенерирован если большой шаг или счет отрицательное.
Смотри Также
glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glEdgeFlagPointerEXT, glGetPointervEXT, glNormalPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glGetString, wglGetProcAddress
| |
|
|
| |