shader在iphone上失效的问题

我写了一个让sprite变灰的shader,使用方法如下:(通过jsb调用)

var shader = cc.GLProgram.create(“xxx.vsh”, “xxx.fsh”);
shader.link();
shader.updateUniforms();
sprite.setShaderProgram(shader);

这样使用的结果是在windows上可以生效,但是在iphone和android上这个节点会消失。
初步怀疑是我的调用方式跟iphone的opengl设置冲突导致,但没找到原因。

虽然时隔四年半,接口都长的不一样了。但是我也遇到了iPhone上不显示的问题,碰巧解决。

// 这玩意还是不要定义了,不定义可以自动匹配,定义了会有真机不显示
// #ifdef GL_ES
// precision mediump float;
// #endif

希望对后来者有帮助。哭死。。。

1赞

给sprite改变色相,android可以 iPhone混乱,去掉那几句之后就好了,感谢!!!