iPhone openGL ES 2.0纹理 - 为片段着色器设置多个纹理

时间:2011-09-23 15:01:54

标签: iphone textures opengl-es-2.0 fragment

我很担心这个问题,因为我看到几个帖子暗指答案,但没有一个对我有用。如果这是重复的,请道歉。

我正试图在iPhone 4(OS 4.3)上的片段着色器中访问多个纹理(目前为2个)。我的代码正确设置了第一个纹理,着色器可以读取并在我的模型上使用它。但是,一旦我尝试添加第二个纹理,它会覆盖第一个纹理而不是给我两个纹理。

是否有关于将多个纹理传递到ES2.0 for iphone中的像素着色器的好教程?我认为我不正确地覆盖了相同的纹理插槽或类似的东西。

我的代码很乱,很冗长。其中大部分是修改在线样本。稍后会清理。 谢谢!

链接: My code excerpts pertaining to texture loading and shader usage

1 个答案:

答案 0 :(得分:2)

这个很简单。交换“//绑定到纹理”和“//获取统一位置”。块,它应该工作。问题是你正在设置一些制服的价值,而不知道它们的位置(你会立即进入下一步)。

所以正在发生的效果不是“被覆盖的一个纹理”,但两个采样器都包含(默认值)0,因此两者都读取相同的纹理。

希望这有帮助。