glBindTexture - зв'язує назву текстури з текстурною ціллю.

C специфікація

void glBindTexture (GLenum target, GLuint texture) ;
 

Параметри

target - вказує до яка текстура зв'язується. Повинно бути одне з наступних GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D або GL_TEXTURE_CUBE_MAP. texture - вказує назву текстури.

Опис

glBindTexture дозволяє вам створювати або використовувати названі текстури. Викликаючи glBindTexture з параметром target встановленим у GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D або GL_TEXTYRE_CUBE_MAP i texture встановлену у назву нової текстури, з'єднює ім'я текстури з ціллю. Коли текстура зв'язана з ціллю, попереднє зв'язування для цієї цілі автоматично знищується. Назва текстури являє собою беззнакове ціле. Нульове значення зарезервовано для представлення текстури за умовчанням для кожної текстурної цілі. Назви текстур і відповідний вміст текстур являються локальними до розподіленого списку відображення (перегляньте glXCreateContext) поточного контексту рендерингу OpenGL; два контексти рендерингу розділяють імена тільки, якщо вони також розділяють списки відображення. Ви можете використовувати glGenTexture для генерації множини нових текстурних імен. Коли текстура вперше зв'язується, припускається спеціальна ціль: Текстура з'єднана до GL_TEXTURE_1D стає одно вимірною текстурою, текстура вперше з'єднана до GL_TEXTURE_2D стає двовимірною текстурою, текстура вперше з'єднана до GL_TEXTYRE_3D стає тривимірною текстурою і текстура вперше з'єднана з GL_TEXTURE_CUBE_MAP стає кубічною текстурою. Стан одновимірних текстур одразу ж після першого асоціювання являється еквівалентною до стану GL_TEXTURE_1D під час ініціалізації OpenGL, і так само для дво- або трьох-вимірні текстури і кубічні текстури. Поки текстура залишається зв'язаною, операції OpenGL на цілях до яких вони зв'язані, мають ефект над зв'язаною текстурою, і запити цілі до яких вона зв'язана повертають стан з з'язаної текстури. Якщо активне накладання текстур на цілях до яких зв'язані текстури, використовується зв'язана текстура. Як результат, текстурна ціль стає псевдонімом для текстур, які зв'язані до них, і ім'я 0 текстури відповідає до текстури за умовчанням, яка буде зв'язаною з ними під час ініціалізації. Зв'язування текстур створених за допомогою glBindTexture остається активною поки не відбувається зв'язування з іншою текстурою до даної цілі, або поки зв'язана текстура не буде видаленою за допомогою glDeleteTextures. Після створення, названа текстура може бути зв'язаною знову до того ж самої оригінальної цілі так часто, як потрібно. Зазвичай набагато швидше використовувати glBindTexture для зв'язування існуючої названої текстури до однієї з текстурних цілей, ніж перевантажувати зображення текстури використовуючи glTexImage1D, glTexImage2D або glTexImage3D. Для додаткового контролю над продуктивністю, використовуйте glPrioritizeTextures. glBindTexture включається у список відображення.

Примітка

glBindTexture доступна тільки від OpenGL версії 1.1 або вище. GL_TEXTURE_CUBE_MAP доступна тільки від OpenGL версії 1.3 або вище.

Помилки

GL_INVALID_ENUM генерується, якщо target не містить доступне значенням. GL_INVALID_OPERATION генерується, якщо параметр texture був попередньо створений з ціллю, яка не співпадає з цією target. GL_INVALID_OPERATION генерується якщо glBindTexture виконується між викликами glBegin i glEnd.

Пов'язані параметри

glGet з аргументом GL_TEXTURE_BINDING_1D glGet з аргументом GL_TEXTURE_BINDING_2D glGet з аргументом GL_TEXTURE_BINDING_3D

Перегляньте також

glAreTexturesResident, glDeleteTextures, glGenTextures, glGet, glGetTexParameter, glIsTexture, glPrioritizeTextures, glTexImage1D, glTexImage2D, glTexParameter, Вступ до OpenGL (Open Graphics Library) - відкрита графічна бібліотека Оригінал: https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glBindTexture.xml