所以我正在分批渲染我的场景,以尝试最小化状态更改。 由于我的着色器通常需要多个纹理,因此我同时将其中几个绑定到不同的纹理单元。其中一些纹理在多个批次中使用,因此甚至可以保持绑定。
现在我的问题是,在一个批次期间是否可以重新绑定我需要的所有纹理,即使其中一些可能已经绑定了?还是应该检查已绑定的纹理,并仅绑定新的纹理? glBindTexture 有多昂贵?我正在使用着色器,将未使用的纹理绑定到着色器不会采样的纹理单元,这会有影响吗?还是应该解除绑定它们?
我主要问的是“如何使其快速”,而不是“如何做到”。
编辑:如果我提供代码,是否有帮助?