私はサムスンギャラクシー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));
....
このコードは、SamsungGalaxyS1とGoogleNexusSで予想されるノイズを完全に生成します。しかし、ARMのMali-400/MP4を使用する新しいスマートフォンでは完全に失敗します。
誰でもこのアルゴリズムの問題を見つけることができますか?または、なぜ失敗するのか理解できますか?