|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
glEdgeFlagPointerEXT
The glEdgeFlagPointerEXT function defines an array of edge flags.
void glEdgeFlagPointerEXT( GLsizei stride, GLsizei count, const GLboolean *pointer );
Parameters
stride
Specifies the byte offset between consecutive edge flags. When stride is zero, the edge flags are tightly packed in the array.
count
Specifies the number of edge flags, counting from the first, that are static.
pointer
Specifies a pointer to the first edge flag in the array.
Remarks
The glEdgeFlagPointerEXT function specifies the location and data of an array of Boolean edge flags to use when rendering. The stride parameter determines the byte offset from one edge flag to the next, which enables 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 edge-flag array 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.
Static array data can be read at any time. If any static array elements are modified and the array is not specified again, the results of any subsequent calls to glEdgeFlagPointerEXT are undefined. An edge-flag array is enabled when you specify the GL_EDGE_FLAG_ARRAY_EXT constant with glEnable. When enabled, glDrawArraysEXT and glArrayElementEXT use the edge-flag array. By default the edge-flag array is disabled. You cannot include glEdgeFlagPointerEXT in display lists.
When you specify an edge-flag array using glEdgeFlagPointerEXT, the values of all the function's edge-flag array parameters are saved in a client-side state and static array elements can be cached. Because the edge-flag 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 glEdgeFlagPointerEXT within glBegin and glEnd pairs, the results are undefined.
Note
Note The glEdgeFlagPointerEXT 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 glEdgeFlagPointerEXT, call glGetString(GL_EXTENSIONS). If it returns GL_EXT_vertex_array, glEdgeFlagPointerEXT is supported. To obtain the address of an extension function, call wglGetProcAddress.
The following functions retrieve information related to the glEdgeFlagPointerEXT function: glIsEnabled with argument GL_EDGE_FLAG_ARRAY_EXT glGet with argument GL_EDGE_FLAG_ARRAY_STRIDE_EXT glGet with argument GL_EDGE_FLAG_ARRAY_COUNT_EXT glGetPointervEXT with argument GL_EDGE_FLAG_ARRAY_POINTER_EXT
Errors
GL_INVALID_ENUM is generated if stride or count is negative.
See Also
glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glGetPointervEXT, glIndexPointerEXT, glNormalPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glGetString, wglGetProcAddress
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
glEdgeFlagPointerEXT
Функция glEdgeFlagPointerEXT определяет массив краевых флагов.
пустота glEdgeFlagPointerEXT( большой шаг GLsizei, счет GLsizei, const GLboolean *указатель );
Параметры
большой шаг
Определяет байтовую компенсацию между последовательными краевыми флагами. Когда большой шаг является нулем, краевые флаги плотно упакованы в массив.
счет
Определяет количество краевых флагов, счета из первого, который статический.
указатель
Определяет указатель на первый краевой флаг в массиве.
Замечания
Функция glEdgeFlagPointerEXT определяет позицию и данные массива Логических краевых флагов, чтобы использоваться при предоставлении. Параметр большого шага определяет байтовое смещение от одного краевого флага до следующего, которое приспосабливается упаковку вершин и приписывается в единственном массиве или памяти в отдельном подготавливается. В некоторых реализациях, хранящих вершины и атрибуты в единственном массиве могут быть более эффективными чем использование разделять подготавливается. Начиная с краевого флага первого элемента массива, счет указывает общее число статических элементов. Ваше приложение может модифицировать статические элементы, но как только элементы будут модифицированы, приложение должно явно определить массив снова перед использованием массива для любого предоставления. Не-статические элементы массива не доступны пока Вы не назовете glDrawArraysEXT или glArrayElementEXT.
Статические данные массива могут быть прочитаны в любое время. Если любые статические элементы массива модифицированы и массив не определяется снова, результаты любых последующих вызовов на glEdgeFlagPointerEXT неопределенные. Краевой флаг массива приспособлен когда Вы определяете константу GL_EDGE_FLAG_ARRAY_EXT с glEnable. Когда приспособлено, glDrawArraysEXT и glArrayElementEXT использует краевой флаг массива. По умолчанию краевой флаг массива выведен из строя. Вы не можете включить glEdgeFlagPointerEXT в дисплейных списках.
Когда Вы определяете краевой флаг массива, использовавший glEdgeFlagPointerEXT, величины всего краевого флага функциональных параметров массива сохранены в клиент-боковом состоянии и статические элементы массива могут быть кешированы. Поскольку параметры краевого флага массива являются клиент-боковым состоянием, их величины не сохранены или восстановлены glPushAttrib и glPopAttrib. Хотя никакая ошибка не сгенерирована когда Вы называете glEdgeFlagPointerEXT в пределах glBegin и пары glEnd, результаты неопределенные.
Примечание
Отметьте что функция glEdgeFlagPointerEXT является функцией расширения, которая - не часть стандартной библиотеки OpenGL но - часть расширения GL_EXT_vertex_array. Для того, чтобы проверять независимо вашу реализацию опор OpenGL glEdgeFlagPointerEXT, glGetString вызова(GL_EXTENSIONS). Если это возвращает GL_EXT_vertex_array, glEdgeFlagPointerEXT поддерживан. Для того, чтобы получать адрес функции расширения, назовите wglGetProcAddress.
Следующее функций извлекает информацию имело отношение к функции glEdgeFlagPointerEXT: glIsEnabled АРГУМЕНТОМ GL_EDGE_FLAG_ARRAY_EXT glGet с аргументом GL_EDGE_FLAG_ARRAY_STRIDE_EXT glGet с аргументом GL_EDGE_FLAG_ARRAY_COUNT_EXT glGetPointervEXT с аргументом GL_EDGE_FLAG_ARRAY_POINTER_EXT
Ошибки
GL_INVALID_ENUM сгенерирован если большой шаг или счет отрицательное.
Смотри Также
glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glGetPointervEXT, glIndexPointerEXT, glNormalPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glGetString, wglGetProcAddress
| |
|
|
| |