Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone openGL ES 2.0纹理-为片段着色器设置多个纹理_Iphone_Opengl Es_Textures_Opengl Es 2.0 - Fatal编程技术网

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

iPhone openGL ES 2.0纹理-为片段着色器设置多个纹理,iphone,opengl-es,textures,opengl-es-2.0,Iphone,Opengl Es,Textures,Opengl Es 2.0,问这个问题我很紧张,因为我已经看到好几篇文章提到了答案,但没有一篇对我有用。如果这是重复的,请道歉 我试图在iPhone4(OS4.3)上的片段着色器中访问多个纹理(目前为2个)。我的代码正确设置了第一个纹理,着色器可以在我的模型上读取并使用它。但是,一旦我尝试添加第二个纹理,它就会覆盖第一个纹理,而不是给我两个纹理 在iphone的ES2.0中,有没有关于将多个纹理传递到像素着色器的好教程?我想我不正确地覆盖了相同的纹理槽或类似的东西 我的代码凌乱而冗长。其中大部分都是修改过的在线样本。稍后会

问这个问题我很紧张,因为我已经看到好几篇文章提到了答案,但没有一篇对我有用。如果这是重复的,请道歉

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

在iphone的ES2.0中,有没有关于将多个纹理传递到像素着色器的好教程?我想我不正确地覆盖了相同的纹理槽或类似的东西

我的代码凌乱而冗长。其中大部分都是修改过的在线样本。稍后会清理干净的。 谢谢

链接:
这个很简单。交换“//Bind to textures”和“//Get uniform location.”块,它应该可以工作。问题是,您正在设置一些制服的值,而不知道它们的位置(您将在接下来的步骤中得到它们)

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


希望这能有所帮助。

对我来说,这是因为在第一次调用glUniform之前缺少glUseProgram(统一的位置看起来不错)。