Как отключить текстурный блок или, по крайней мере, предотвратить изменение его состояния при связывании текстуры? Я использую шейдеры, так что нет glDisable для этого, я не думаю. Проблема в том, что цепочка событий может выглядеть примерно так:
Create texture 1 (implies binding it)
Use texture 1 with texture unit 1
Create texture 2 (implies binding it)
Use texture 2 with texture unit 2
, но, учитывая семантику glActiveTexture, кажется, что это невозможно, поскольку создание текстуры 2 будет связано с состоянием текстурного блока 1, так как это был последний блок, на котором я назвал glActiveTexture. то есть вы должны написать:
Create texture 1
Create texture 2
Use texture 1 with texture unit 1
Use texture 2 with texture unit 2
Я, конечно, упростил пример, но тот факт, что создание и привязка текстуры могут случайно повлиять на активный в данный момент текстурный блок, даже когда вы привязываете текстуру как часть процесса создания, вызывает у меня некоторое неудобство. , Если, конечно, я не допустил ошибку здесь, и есть что-то, что я могу сделать, чтобы отключить изменения состояния в текущей glActiveTexture?
Спасибо за любую помощь, вы можете оказать мне здесь.