Извлечение пикселей из ранее связанной текстуры - OpenGL - PullRequest
3 голосов
/ 11 марта 2009

В OpenGL возможно ли извлечь массив пикселей из ранее созданной текстуры, учитывая только идентификатор текстуры?

1 Ответ

2 голосов
/ 11 марта 2009

Да.
свяжи это снова и назови glGetTexImage()
Если вы не хотите связываться с текстурой, которая в данный момент связана, вы можете привязать ее к другой текстурной единице. Единица текстуры - это контейнер, который содержит связанную текстуру. Вы можете иметь одну текстуру, привязанную к каждой единице текстуры. OpenGL 2.1 требует, чтобы реализация имела как минимум 2 текстурных блока. Единицей текстуры по умолчанию, которую вы регулярно используете, является единица 0. Для переключения текущего вызова текстурной единицы glActiveTexture():

glActiveTexture(GL_TEXTURE1);
glBindTexture(texid);
glGetTexImage(...);
glActiveTexture(GL_TEXTURE0); // don't forget to switch it back
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...