我写了一个让sprite变灰的shader,使用方法如下:(通过jsb调用)
var shader = cc.GLProgram.create(“xxx.vsh”, “xxx.fsh”);
shader.link();
shader.updateUniforms();
sprite.setShaderProgram(shader);
这样使用的结果是在windows上可以生效,但是在iphone和android上这个节点会消失。
初步怀疑是我的调用方式跟iphone的opengl设置冲突导致,但没找到原因。