Я пытаюсь получить следующий простой алгоритм, работающий в Samsung 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));
....
Код генерирует совершенно ожидаемый шум в Samsung Galaxy S1 и Google Nexus S. Но он полностью не работает на новом смартфоне, который использует ARM Mali-400/MP4.
Кто-нибудь может заметить что-то не так с этим алгоритмом? Или, может быть, понять, почему это может не получиться?