HDRBloomH.frag 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. uniform sampler2D screenTexture;
  2. uniform float blurSize;
  3. varying vec2 texCoordVar;
  4. void main(void)
  5. {
  6. vec4 sum = vec4(0.0);
  7. sum += texture2D(screenTexture, vec2(texCoordVar.x - 16.0*blurSize, texCoordVar.y)) * 0.000004;
  8. sum += texture2D(screenTexture, vec2(texCoordVar.x - 15.0*blurSize, texCoordVar.y)) * 0.000012;
  9. sum += texture2D(screenTexture, vec2(texCoordVar.x - 14.0*blurSize, texCoordVar.y)) * 0.00004;
  10. sum += texture2D(screenTexture, vec2(texCoordVar.x - 13.0*blurSize, texCoordVar.y)) * 0.00012;
  11. sum += texture2D(screenTexture, vec2(texCoordVar.x - 12.0*blurSize, texCoordVar.y)) * 0.000331;
  12. sum += texture2D(screenTexture, vec2(texCoordVar.x - 11.0*blurSize, texCoordVar.y)) * 0.000841;
  13. sum += texture2D(screenTexture, vec2(texCoordVar.x - 10.0*blurSize, texCoordVar.y)) * 0.001971;
  14. sum += texture2D(screenTexture, vec2(texCoordVar.x - 9.0*blurSize, texCoordVar.y)) * 0.004258;
  15. sum += texture2D(screenTexture, vec2(texCoordVar.x - 8.0*blurSize, texCoordVar.y)) * 0.008483;
  16. sum += texture2D(screenTexture, vec2(texCoordVar.x - 7.0*blurSize, texCoordVar.y)) * 0.015583;
  17. sum += texture2D(screenTexture, vec2(texCoordVar.x - 6.0*blurSize, texCoordVar.y)) * 0.026396;
  18. sum += texture2D(screenTexture, vec2(texCoordVar.x - 5.0*blurSize, texCoordVar.y)) * 0.04123;
  19. sum += texture2D(screenTexture, vec2(texCoordVar.x - 4.0*blurSize, texCoordVar.y)) * 0.059384;
  20. sum += texture2D(screenTexture, vec2(texCoordVar.x - 3.0*blurSize, texCoordVar.y)) * 0.07887;
  21. sum += texture2D(screenTexture, vec2(texCoordVar.x - 2.0*blurSize, texCoordVar.y)) * 0.096593;
  22. sum += texture2D(screenTexture, vec2(texCoordVar.x - 1.0*blurSize, texCoordVar.y)) * 0.109084;
  23. sum += texture2D(screenTexture, vec2(texCoordVar.x, texCoordVar.y)) * 0.113597;
  24. sum += texture2D(screenTexture, vec2(texCoordVar.x + 16.0*blurSize, texCoordVar.y)) * 0.000004;
  25. sum += texture2D(screenTexture, vec2(texCoordVar.x + 15.0*blurSize, texCoordVar.y)) * 0.000012;
  26. sum += texture2D(screenTexture, vec2(texCoordVar.x + 14.0*blurSize, texCoordVar.y)) * 0.00004;
  27. sum += texture2D(screenTexture, vec2(texCoordVar.x + 13.0*blurSize, texCoordVar.y)) * 0.00012;
  28. sum += texture2D(screenTexture, vec2(texCoordVar.x + 12.0*blurSize, texCoordVar.y)) * 0.000331;
  29. sum += texture2D(screenTexture, vec2(texCoordVar.x + 11.0*blurSize, texCoordVar.y)) * 0.000841;
  30. sum += texture2D(screenTexture, vec2(texCoordVar.x + 10.0*blurSize, texCoordVar.y)) * 0.001971;
  31. sum += texture2D(screenTexture, vec2(texCoordVar.x + 9.0*blurSize, texCoordVar.y)) * 0.004258;
  32. sum += texture2D(screenTexture, vec2(texCoordVar.x + 8.0*blurSize, texCoordVar.y)) * 0.008483;
  33. sum += texture2D(screenTexture, vec2(texCoordVar.x + 7.0*blurSize, texCoordVar.y)) * 0.015583;
  34. sum += texture2D(screenTexture, vec2(texCoordVar.x + 6.0*blurSize, texCoordVar.y)) * 0.026396;
  35. sum += texture2D(screenTexture, vec2(texCoordVar.x + 5.0*blurSize, texCoordVar.y)) * 0.04123;
  36. sum += texture2D(screenTexture, vec2(texCoordVar.x + 4.0*blurSize, texCoordVar.y)) * 0.059384;
  37. sum += texture2D(screenTexture, vec2(texCoordVar.x + 3.0*blurSize, texCoordVar.y)) * 0.07887;
  38. sum += texture2D(screenTexture, vec2(texCoordVar.x + 2.0*blurSize, texCoordVar.y)) * 0.096593;
  39. sum += texture2D(screenTexture, vec2(texCoordVar.x + 1.0*blurSize, texCoordVar.y)) * 0.109084;
  40. gl_FragColor = sum;
  41. }