Tôi đang đấu tranh để có được những thuật toán đơn giản tới làm việc tại Samsung Galaxy SIIINoise Thuật toán thất bại trong Samsung Galaxy SIII (GLES)
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));
....
Mã này tạo ra một cách hoàn hảo tiếng ồn dự kiến trong Samsung Galaxy S1 và Google Nexus S Nhưng nó không hoàn toàn trong điện thoại thông minh mới sử dụng ARM của Mali-400/MP4.
Bất kỳ ai cũng có thể phát hiện bất kỳ điều gì sai với thuật toán này? Hoặc có thể hiểu tại sao nó có thể thất bại?
Không thế nào? Bạn đang kiểm tra thông tin lỗi/cảnh báo? – Tim
Không có lỗi nào cả, chỉ đơn giản là không hiển thị bất kỳ điểm ảnh nhiễu nào. Hình ảnh tổng thể là ok, nhưng không có bất kỳ tiếng ồn nào. – PerracoLabs
Hmm, không chắc chắn sau đó. Tôi chỉ khuyên bạn nên lột nó trở lại một lớp tại một thời điểm cho đến khi bạn có thể hiểu tại sao. Ví dụ. hiện fract() làm việc? làm gãy xương (sin()) làm việc, hiện fract (sin (dot (())) làm việc? vv – Tim