compositor for 2d shader
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. class DARKER extends Shader {
  2. DARKER() {
  3. name = "fxDARKER";
  4. /*
  5. params.add(new Param ("layers", 5));
  6. params.add(new Param ("thresh", 0, 255));
  7. params.add(new Param ("value", 0, 255));
  8. params.add(new Param ("mode", 2));*/
  9. }
  10. float inc1, inc2;
  11. float playSpeed = 4;
  12. void animate() {
  13. inc1+=playSpeed/400;
  14. inc2+=playSpeed/300;
  15. if ((frameCount % int(map(playSpeed, 0, 4, 15, 120))) == 0) {
  16. for (int i = 0; i < params.size(); i++)
  17. params.get(i).randomize();
  18. }
  19. params.get(1).setValue((sin(inc1)+1)/2);
  20. params.get(2).setValue((sin(inc2)+1)/2);
  21. }
  22. void apply() {
  23. float h, s, b;
  24. renderer.beginDraw();
  25. renderer.colorMode(HSB);
  26. renderer.loadPixels();
  27. colorMode(HSB);
  28. if (params.get(3).value == 0) {
  29. for (int j = 1; j < params.get(0).value+1; j++) {
  30. for (int i = 0; i < renderer.width*renderer.height; i++) {
  31. h = hue(renderer.pixels[i]);
  32. s = saturation(renderer.pixels[i]);
  33. b = brightness(renderer.pixels[i]);
  34. if (b > params.get(1).value/j);
  35. {
  36. if (!(h == 85.0 && s == 255.0 && b == 255.0)) {
  37. b -= params.get(2).value/j;
  38. constrain(b, 0, 255);
  39. color c = color(h, s, b);
  40. renderer.pixels[i] = c;
  41. }
  42. }
  43. }
  44. }
  45. } else if (params.get(3).value == 1) {
  46. for (int j = 1; j < params.get(0).value+1; j++) {
  47. for (int i = 0; i < renderer.width*renderer.height; i++) {
  48. h = hue(renderer.pixels[i]);
  49. s = saturation(renderer.pixels[i]);
  50. b = brightness(renderer.pixels[i]);
  51. if (b < params.get(1).value/j) {
  52. if (!(h == 85.0 && s == 255.0 && b == 255.0));
  53. {
  54. b -= params.get(2).value/j;
  55. constrain(b, 0, 255);
  56. }
  57. }
  58. color c = color(h, s, b);
  59. renderer.pixels[i] = c;
  60. }
  61. }
  62. }
  63. renderer.updatePixels();
  64. renderer.colorMode(RGB);
  65. renderer.endDraw();
  66. colorMode(RGB);
  67. }
  68. }