gpt4 book ai didi

OpenGL:关闭多个纹理单元

转载 作者:行者123 更新时间:2023-12-04 17:12:52 24 4
gpt4 key购买 nike

如何关闭多个纹理单元,因为它们会影响其他渲染部分。
我激活我的它们:

        glActiveTexture(GL_TEXTURE0 + index);
glBindTexture(GL_TEXTURE_2D,
((MaterialSampler2D)specular).texture.getTOB());
shader.setTexture2(index);

有没有像 glDeactivateTexture 这样的东西?

最佳答案

glActiveTexture不激活纹理单元。它只是选择您当前正在修改的纹理单元(是的,OpenGL 的对象状态管理很糟糕)。
你用 glEnable(<texture-target>) 激活纹理和 glDisable(<texture-target>) .在您的情况下,目标将是 GL_TEXTURE_2D .

所以回答你的问题:选择纹理单元i通过使用 glActiveTexture(GL_TEXTURE0+i)然后用 glDisable(GL_TEXTURE_2D) 禁用它.

请注意,所有这些对于着色器都是多余的 - 您不能访问那里的值。

关于OpenGL:关闭多个纹理单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5705492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com