blur.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. var RTL$ = {
  2. makeArray: function (/*dimensions, initializer*/){
  3. var forward = Array.prototype.slice.call(arguments);
  4. var result = new Array(forward.shift());
  5. var i;
  6. if (forward.length == 1){
  7. var init = forward[0];
  8. if (typeof init == "function")
  9. for(i = 0; i < result.length; ++i)
  10. result[i] = init();
  11. else
  12. for(i = 0; i < result.length; ++i)
  13. result[i] = init;
  14. }
  15. else
  16. for(i = 0; i < result.length; ++i)
  17. result[i] = this.makeArray.apply(this, forward);
  18. return result;
  19. }
  20. };
  21. var Blur = function (){
  22. var W = 640;
  23. var W1 = 640 - 3 | 0;
  24. var H = 480;
  25. var H1 = 480 - 3 | 0;
  26. var N = 13;
  27. var Frames = 1;
  28. var a = RTL$.makeArray(1920, 480, 0);var b = RTL$.makeArray(1920, 480, 0);
  29. var time = 0;
  30. function Blur2DArray(){
  31. var f = 0;var n = 0;
  32. var x = 0;var y = 0;
  33. var color = 0;
  34. for (f = 1; f <= Frames; ++f){
  35. for (n = 1; n <= N; ++n){
  36. for (y = 1; y <= H - 2 | 0; ++y){
  37. for (x = 1; x <= W - 2 | 0; ++x){
  38. for (color = 0; color <= 2; ++color){
  39. b[(x * 3 | 0) + color | 0][y] = (((a[(x * 3 | 0) + color | 0][y + 1 | 0] + a[(x * 3 | 0) + color | 0][y - 1 | 0] | 0) + a[(x - 1 | 0) * 3 | 0][y] | 0) + a[(x + 1 | 0) * 3 | 0][y] | 0) / 4 | 0;
  40. }
  41. }
  42. }
  43. for (y = 1; y <= H - 2 | 0; ++y){
  44. for (x = 1; x <= W - 2 | 0; ++x){
  45. for (color = 0; color <= 2; ++color){
  46. a[(x * 3 | 0) + color | 0][y] = (((b[(x * 3 | 0) + color | 0][y + 1 | 0] + b[(x * 3 | 0) + color | 0][y - 1 | 0] | 0) + b[(x - 1 | 0) * 3 | 0][y] | 0) + b[(x + 1 | 0) * 3 | 0][y] | 0) / 4 | 0;
  47. }
  48. }
  49. }
  50. }
  51. }
  52. }
  53. Blur2DArray();
  54. return {
  55. Blur2DArray: Blur2DArray
  56. }
  57. }();