在Shader 中 对于同一个texture 不能采样两次以上?

采样一次后,不能再次采样,在编辑器会报错?
如果我需要多次采样同一个纹理,怎么办?

确实,两次采样会有重复的临时变量,你可以建一个 function 来采样?

我都没发现

什么意思?我本想用一个临时变量 存一下texture, 但是存储的时候又会报错。。

还有就是,我发现还不能直接对 v_uv0 变量进行复制操作。。需要用一个临时变量来存一下。好麻烦啊。:3:

这个临时变量是 CCTexture 宏根据传入的名字生成的,两次调用都会生成一个 texture_tmp 的变量,所以重定义了。
你可以先自定义一个类似下面的方法来获取

vec4 textureFunc (sampler2D tex, vec2 uv, inout vec4 color) {
  CCTexture(tex, uv, color);
}

textureFunc (texture, uv1, color1);
textureFunc (texture, uv2, color2);

好吧,我用的glsl 原生的texture2D 方法解决了。。