我似乎无法在一个着色器中同时拥有 texture2D()
和 textureCube()
。当我这样做时,什么也没有出现,也没有错误。我用我自己的着色器加载器和 Apple GLSL 着色器构建器都尝试过,同样的事情发生了。即使我在顶点着色器中有 textureCube()
并且在片段中有 texture2D()
也会发生这种情况。他们似乎自己工作得很好,但一旦他们被召集在一起,无论以何种顺序,都没有任何显示。
最佳答案
您需要在两个着色器中将两个纹理绑定(bind)为制服,并分配两个不同的纹理单元,每个纹理单元将其中一个纹理分配给采样器制服。
关于opengl - 同一着色器中的 GLSL textureCube 和 texture2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6027086/