我该如何关闭贴图单元,或者至少在绑定贴图时防止它的状态改变?我正在使用着色器,因此我认为这里没有 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的单元是1。也就是说,您必须写成:
Create texture 1
Create texture 2
Use texture 1 with texture unit 1
Use texture 2 with texture unit 2
我当然简化了这个例子,但是创建并绑定纹理时,即使你只是作为创建过程的一部分来绑定纹理,也可能会不经意地影响当前活动的纹理单元,这让我感到有些不安。除非我犯了错误,并且有什么方法可以禁用当前glActiveTexture中的状态更改?谢谢你在这里给我的任何帮助。