darkerbrighter.glsl 702 B

12345678910111213141516171819202122232425262728293031323334
  1. void main()
  2. {
  3. float4 c0 = Sample();
  4. float4 c1 = SampleOffset(int2(-1, 0));
  5. float4 c2 = SampleOffset(int2( 0, -1));
  6. float4 c3 = SampleOffset(int2( 1, 0));
  7. float4 c4 = SampleOffset(int2( 0, 1));
  8. float red = c0.r;
  9. float blue = c0.b;
  10. float green = c0.g;
  11. float red2 = (c1.r + c2.r + c3.r + c4.r) / 4.0;
  12. float blue2 = (c1.b + c2.b + c3.b + c4.b) / 4.0;
  13. float green2 = (c1.g + c2.g + c3.g + c4.g) / 4.0;
  14. if (red2 > 0.3)
  15. red = c0.r + c0.r / 2.0;
  16. else
  17. red = c0.r - c0.r / 2.0;
  18. if (green2 > 0.3)
  19. green = c0.g+ c0.g / 2.0;
  20. else
  21. green = c0.g - c0.g / 2.0;
  22. if (blue2 > 0.3)
  23. blue = c0.b+ c0.b / 2.0;
  24. else
  25. blue = c0.b - c0.b / 2.0;
  26. SetOutput(float4(red, green, blue, c0.a));
  27. }