opengl - 同一着色器中的 GLSL textureCube 和 texture2D

标签 opengl glsl shader texture2d texturing

我似乎无法在一个着色器中同时拥有 texture2D()textureCube()。当我这样做时,什么也没有出现,也没有错误。我用我自己的着色器加载器和 Apple GLSL 着色器构建器都尝试过,同样的事情发生了。即使我在顶点着色器中有 textureCube() 并且在片段中有 texture2D() 也会发生这种情况。他们似乎自己工作得很好,但一旦他们被召集在一起,无论以何种顺序,都没有任何显示。

最佳答案

您需要在两个着色器中将两个纹理绑定(bind)为制服,并分配两个不同的纹理单元,每个纹理单元将其中一个纹理分配给采样器制服。

关于opengl - 同一着色器中的 GLSL textureCube 和 texture2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6027086/

相关文章:

c++ - 用于数组数组的 opengl glUniform (ARB_arrays_of_arrays)

glsl - GLSL中的printf?

c++ - OpenGL:如何检查用户 GFX 卡是否可以使用我的着色器进行渲染?

ios - 为什么这个 OpenGL ES 2.0 着色器不能与我在 iOS 上的 VBO 一起使用?

xna - 是否有像 Javascript 缩小器一样的 HLSL 缩小器?

c++ - 使用多个纹理将纹理分配给对象

c# - 对 OpenGL 纹理进行去饱和处理

c++ - 着色器和纹理坐标问题

c++ - 错误:不支持GLSL 3.30。支持的版本为:1.10、1.20、1.30、1.00 ES,3.00 ES,3.10 ES和3.20 ES

ios - Xcode为什么无法识别这些着色器?