Shader 在某些安卓手机上失效的问题

yadnuslla 2014-09-01 10:24:19
自己写的一些shader在电脑上跑都没问题,但在手机上 有些能用有些反而会失效,都是很简单的效果,比如我做的描边效果就能跑,但是高亮效果会失效,而且被处理的贴图位置也会发生偏移,不知道怎么解决,完全没头绪,也不知道怎么调试,因为是加在公司做的游戏里,要打包安装到手机上才能看效果,哎,求救!!

下面是 高亮效果的代码,在手机上会失效的
#ifdef GL_ES
precision mediump float;
#endif
varying vec4 v_fragmentColor;
varying vec2 v_texCoord;
uniform sampler2D u_texture;
void main()
{
float iGlobalTime = CC_Time[1];
vec4 irgb = texture2D(u_texture,v_texCoord);
gl_FragColor = (abs(1.-sin(iGlobalTime*3.))*.5+1)*irgb;
}

...全文
1559 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoytGM 2014-09-01
  • 打赏
  • 举报
回复
CC_Time哪里来的?数字最好写全吧?1.0,不要写成1 失效的话,shader编译和链接成功了没?获取一下状态呀
  • 打赏
  • 举报
回复
这个问题的确很棘手。。。到手机上不能显示是很常见的事,不同的手机结果也不一样,这跟手机上的硬件关系很大,你用的什么机型? 一般问题会跟变量类似,类型转换,计算复杂度有关,因为手机寄存器有限,复杂的操作在某些手机上无法支持。我个人建议是,你这个shader估计就是最后一句用到了很多数学运算,你可以先尝试把它改成最简单的颜色赋值,或者用更高性能的手机去测试下,确定是因为这句操作影响的。然后,就去优化它吧。。。

8,325

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧