Поделиться через


Функция glTexCoordPointer

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

Синтаксис

void WINAPI glTexCoordPointer(
         GLint   size,
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Параметры

size

Количество координат на элемент массива. Значение размера должно быть равно 1, 2, 3 или 4.

type

Тип данных каждой координаты текстуры в массиве с использованием следующих символьных констант: GL_SHORT, GL_INT, GL_FLOAT и GL_DOUBLE.

Шаг

Смещение байтов между последовательными элементами массива. Если шаг равен нулю, элементы массива плотно упаковываются в массив.

Указатель

Указатель на первую координату первого элемента в массиве.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
Тип не является допустимым значением.
GL_INVALID_VALUE
размер не был 1, 2, 3 или 4.
GL_INVALID_VALUE
шаг был отрицательным.

Комментарии

Функция glTexCoordPointer указывает расположение и данные массива координат текстуры для использования при отрисовке. Параметр size указывает количество координат, используемых для каждого элемента массива. Параметр type указывает тип данных каждой координаты текстуры. Параметр stride определяет смещение байтов от одного элемента массива к другому, позволяя упаковывать вершины и атрибуты в одном массиве или хранить их в отдельных массивах. В некоторых реализациях хранение вершин и атрибутов в одном массиве может быть более эффективным, чем использование отдельных массивов. Дополнительные сведения см. в разделе glInterleavedArrays. При указании массива координат текстуры сохраняется состояние размера, типа, шага и указателя на стороне клиента.

Массив координат текстуры включается при указании константы GL_TEXTURE_COORD_ARRAY с помощью glEnableClientState. Если этот параметр включен, glDrawArrays, glDrawElements и glArrayElement используют массив координат текстуры. По умолчанию массив координат текстуры отключен.

В списки отображения нельзя включить glTexCoordPointer .

При указании массива координат текстуры с помощью glTexCoordPointer значения всех параметров массива координат текстуры функции сохраняются в клиентском состоянии, а статические элементы массива можно кэшировать. Так как параметры массива координат текстуры находятся в состоянии клиента, их значения не сохраняются и не восстанавливаются с помощью glPushAttrib и glPopAttrib.

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

Следующие функции извлекают сведения, связанные с glTexCoordPointer:

glIsEnabled с аргументом GL_TEXTURE_COORD_ARRAY

glGet с аргументом GL_TEXTURE_COORD_ARRAY_SIZE

glGet с аргументом GL_TEXTURE_COORD_ARRAY_STRIDE

glGet с аргументом GL_TEXTURE_COORD_ARRAY_COUNT

glGet с GL_TEXTURE_COORD_ARRAY_TYPE аргументов

glGetPointerv с аргументом GL_TEXTURE_COORD_ARRAY_POINTER

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnable

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glPopClientAttrib

glPushClientAttrib

glTexCoord

glVertexPointer