我正在努力让下一个简单的算法在三星 Galaxy SIII 中运行
float rand(vec2 co)
{
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
....
vec3 color = texture2D(u_texture, v_texcoord);
gl_FragColor.rgb = color + vec3(rand(gl_FragCoord.xy + time / 1000.0));
....
该代码在三星 Galaxy S1 和谷歌 Nexus S 中完美地产生了预期的噪音。但在使用 ARM 的 Mali-400/MP4 的新智能手机中完全失败了。
任何人都可以发现这个算法有什么问题吗?或者也许明白为什么它会失败?