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


Функция glBindTexture

Функция glBindTexture позволяет создать именованную текстуру, привязанную к целевому объекту текстуры.

Синтаксис

void WINAPI glBindTexture(
   GLenum target,
   GLuint texture
);

Параметры

target

Целевой объект, к которому привязана текстура. Значение должно быть GL_TEXTURE_1D или GL_TEXTURE_2D.

Текстуры

Имя текстуры; Имя текстуры в настоящее время не может использоваться.

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

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

Коды ошибок

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

Имя Значение
GL_INVALID_ENUM
Целевой объект параметра не является допустимым значением.
GL_INVALID_OPERATION
Текстура параметра не имеет той же размерности, что и целевой объект, или функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Функция glBindTexture позволяет создать именованную текстуру. Вызов glBindTexture с целевым значением GL_TEXTURE_1D или GL_TEXTURE_2D, а для текстуры — именем созданной текстуры, привязывает имя текстуры к соответствующему целевому объекту текстуры. Когда текстура привязана к целевому объекту, предыдущая привязка для этого целевого объекта больше не действует.

Имена текстур — это целые числа без знака с нулевым значением, зарезервированным для представления текстуры по умолчанию для каждого целевого объекта текстуры. Имена текстур и соответствующее содержимое текстуры являются локальными для общего пространства списков текущего контекста отрисовки OpenGL; два контекста отрисовки используют имена текстур только в том случае, если они также используют отображаемые списки. Вы можете создать набор новых имен текстур с помощью glGenTextures.

При первой привязке текстуры предполагается размерность целевого объекта текстуры; текстура, привязанная к GL_TEXTURE_1D, становится одномерной, а текстура, привязанная к GL_TEXTURE_2D, становится двухмерной. Операции, выполняемые с целевым объектом текстуры, также влияют на текстуру, привязанную к целевому объекту. При запросе целевого объекта текстуры возвращается состояние привязанной к ней текстуры. Целевые объекты текстур становятся псевдонимами для текстур, которые в настоящее время привязаны к ним.

При привязке текстуры с помощью glBindTexture привязка остается активной, пока другая текстура не будет привязана к тому же целевому объекту или не будет удалена связанная текстура с помощью функции glDeleteTextures . После создания именованной текстуры ее можно привязать к целевому объекту текстуры с той же размерностью, что и требуется.

Обычно использовать glBindTexture для привязки существующей именованной текстуры к одному из целевых объектов текстуры гораздо быстрее, чем перезагрузить изображение текстуры с помощью glTexImage1D или glTexImage2D. Для дополнительного управления производительностью форматирования используйте glPrioritizeTextures.

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

Примечание

Функция glBindTexture доступна только в OpenGL версии 1.1 или более поздней.

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

  • glGet с аргументом GL_TEXTURE_1D_BINDING

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

Требования

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

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

glAreTexturesResident

glDeleteTextures

glGenTextures

glGet

glGetTexParameter

glIsTexture

glPrioritizeTextures

glTexImage1D

glTexImage2D

glTexParameter