На главную

On-line справка по OpenGL

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-L-M-N-O-P-R-S-T-U-V-W | Скачать Вниз

glNormalPointerEXT



The glNormalPointerEXT function defines an array of normals.

void glNormalPointerEXT(
GLenum type,
GLsizei stride,
GLsizei count,
const GLvoid *pointer
);

Parameters

type

Specifies the datatype of each coordinate in the array using the following symbolic constants: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE_EXT.

stride

Specifies the byte offset between consecutive normals. When stride is zero, the normals are tightly packed in the array.

count

Specifies the number of normals, counting from the first, that are static.

pointer

Specifies a pointer to the first normal in the array.

Remarks

The glNormalPointerEXT function specifies the location and data of an array of normals to use when rendering. The type parameter specifies the datatype of each normal coordinate and stride determines the byte offset from one normal 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 normal 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 normal arrays is enabled when you specify the GL_NORMAL_ARRAY_EXT constant with glEnable. When enabled, glDrawArraysEXT and glArrayElementEXT use the normal array. By default the normal array is disabled.
You cannot include glNormalPointerEXT in display lists.
When you specify a normal array using glNormalPointerEXT, the values of all the function's normal array parameters are saved in a client-side state and static array elements can be cached. Because the normal 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 glNormalPointerEXT within glBegin and glEnd pairs, the results are undefined.

Note

Note The glNormalPointerEXT 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 glNormalPointerEXT, call glGetString(GL_EXTENSIONS). If it returns GL_EXT_vertex_array, glNormalPointerEXT is supported.
To obtain the address of an extension function, call wglGetProcAddress.



The following functions are associated with the glNormalPointerEXT function:
glIsEnabled with argument GL_NORMAL_ARRAY_EXT
glGet with argument GL_NORMAL_ARRAY_STRIDE_EXT
glGet with argument GL_NORMAL_ARRAY_COUNT_EXT
glGet with argument GL_NORMAL_ARRAY_TYPE_EXT
glGetPointervEXT with argument GL_NORMAL_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, glIndexPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glGetString, wglGetProcAddress



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

glNormalPointerEXT



Функция glNormalPointerEXT определяет массив нормальный.

пустота glNormalPointerEXT( тип GLenum, большой шаг GLsizei, счет GLsizei, const GLvoid *указатель
);

Параметры

тип

Определяет datatype каждой координаты в массиве используя следующие символические константы: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, и GL_DOUBLE_EXT.

большой шаг

Определяет байтовую компенсацию между последовательным нормальным. Когда большой шаг является нулем, нормально плотно упакованы в массив.

счет

Определяет число нормальное, считаясь из первого, которое статическое.

указатель

Определяет указатель на первый нормальный в массиве.

Замечания

Функция glNormalPointerEXT определяет позицию и данные массива нормальную, чтобы использоваться при предоставлении. Параметр типа определяет datatype каждой нормальной координаты и большой шаг определяет байтовое смещение от одного нормального до следующего, включения упаковки вершин и атрибутов в единственном массиве или памяти в отдельном подготавливается. В некоторых реализациях, хранящих вершины и атрибуты в единственном массиве могут быть более эффективными чем использование разделять подготавливается. Начиная с первого нормального элемента, счет указывает общее число статических элементов. Ваше приложение может модифицировать статические элементы, но как только элементы будут модифицированы, приложение должно явно определить массив снова перед использованием массива для любого предоставления. Не-статические элементы массива не доступны пока Вы не назовете glDrawArraysEXT или glArrayElementEXT.

Нормально подготавливает, приспособлен когда Вы определяете константу GL_NORMAL_ARRAY_EXT с glEnable. Когда приспособлено, glDrawArraysEXT и glArrayElementEXT использует нормальный массив. По умолчанию нормальный массив выведен из строя.
Вы не можете включить glNormalPointerEXT в дисплейных списках.
Когда Вы определяете нормальный массив, использовавший glNormalPointerEXT, величины всех функциональных нормальных параметров массива сохранены в клиент-боковом состоянии и статические элементы массива могут быть кешированы. Поскольку нормальные параметры массива являются клиент-боковым состоянием, их величины не сохранены или восстановлены glPushAttrib и glPopAttrib.

Хотя никакая ошибка не сгенерирована когда Вы называете glNormalPointerEXT в пределах glBegin и пары glEnd, результаты неопределенные.

Примечание

Отметьте что функция glNormalPointerEXT является функцией расширения, которая - не часть стандартной библиотеки OpenGL но - часть расширения GL_EXT_vertex_array. Для того, чтобы проверять независимо вашу реализацию опор OpenGL glNormalPointerEXT, glGetString вызова(GL_EXTENSIONS). Если это возвращает GL_EXT_vertex_array, glNormalPointerEXT поддерживан.
Для того, чтобы получать адрес функции расширения, назовите wglGetProcAddress.



Следующие функции связаны функцией glNormalPointerEXT:
glIsEnabled АРГУМЕНТОМ GL_NORMAL_ARRAY_EXT glGet с аргументом GL_NORMAL_ARRAY_STRIDE_EXT glGet с аргументом GL_NORMAL_ARRAY_COUNT_EXT glGet с аргументом GL_NORMAL_ARRAY_TYPE_EXT glGetPointervEXT с аргументом GL_NORMAL_ARRAY_POINTER_EXT


Ошибки

GL_INVALID_ENUM сгенерирован если тип не является допустимой величиной.
GL_INVALID_VALUE сгенерирован если большой шаг или счет отрицательное.

Смотри Также

glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glEdgeFlagPointerEXT, glGetPointervEXT, glIndexPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glGetString, wglGetProcAddress



Вверх Version 1.1, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод Win32 API  Русский перевод OpenGL
 
Hosted by uCoz