Я изо всех сил пытаюсь заставить следующий простой алгоритм работать в 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.
Кто-нибудь может заметить что-то не так с этим алгоритмом? Или, может быть, понять, почему он мог выйти из строя?