openGL:选择纹理单元而不是另一个纹理单元的标准

时间:2012-07-17 11:10:04

标签: opengl graphics textures

我总是只选择一个纹理选择0纹理单元

glActiveTexture(GL_TEXTURE0);

选择其他纹理单元的标准是什么?

我的意思是:如果我必须使用多个纹理,我应该选择哪个单位?我是openGL的初学者,我想知道我是否可以使用相同的0纹理单元进行所有图形纹理处理。有多少纹理单位?如果有N个纹理单位,我可以使用最多N个纹理吗?

1 个答案:

答案 0 :(得分:1)

'纹理单元的数量取决于实现,但必须至少为两个。'

请参阅:glActiveTexture Docs

在glActiveTexture()调用之后,使用glBindTexture()绑定纹理。您可以将多个纹理绑定到同一个单元。但只有其中一个被采样。

请参阅:Texture Binding

因此,如果您有N个纹理单位,则最多可以在一个着色器中对N个纹理进行采样。