Постоянство параметров текстуры - PullRequest
10 голосов
/ 08 марта 2010

Я использую glBindTexture (), чтобы связать ранее созданную текстуру. После вызова glBindTexture () я использую glTexParameteri (), чтобы установить фильтр MIN и MAG. Пока проблем нет.

Являются ли те параметры, которые я установил с помощью glTexParameteri (), привязанными к самой текстуре, или они теряются, если я связываю другую текстуру. Должен ли я установить их снова?

glGenTexture(1, &tex1);
glGenTexture(1, &tex2);

/* bind tex1 and set params */
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1);
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

/* do something */

/* bind tex2 and set params */
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex2);
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

/* do something */

/* bind tex1 again */
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1);

/* do i have to set the parameters from above again or are they stored with tex1? */

1 Ответ

10 голосов
/ 08 марта 2010

Они хранятся. Страница руководства для glBindTexture () говорит:

Пока текстура связана, GL операции на цель, к которой он связано влияет на связанную текстуру.

Поскольку первый параметр glTexParameter() является целью, они применяются к связанному объекту так же, как glTexImage().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...