kernelBlur.fragment.fx 952 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Parameters
  2. uniform sampler2D textureSampler;
  3. uniform vec2 delta;
  4. // Varying
  5. varying vec2 sampleCenter;
  6. #include<kernelBlurVaryingDeclaration>[0..varyingCount]
  7. #ifdef PACKEDFLOAT
  8. vec4 pack(float depth)
  9. {
  10. const vec4 bit_shift = vec4(255.0 * 255.0 * 255.0, 255.0 * 255.0, 255.0, 1.0);
  11. const vec4 bit_mask = vec4(0.0, 1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0);
  12. vec4 res = fract(depth * bit_shift);
  13. res -= res.xxyz * bit_mask;
  14. return res;
  15. }
  16. float unpack(vec4 color)
  17. {
  18. const vec4 bit_shift = vec4(1.0 / (255.0 * 255.0 * 255.0), 1.0 / (255.0 * 255.0), 1.0 / 255.0, 1.0);
  19. return dot(color, bit_shift);
  20. }
  21. #endif
  22. void main(void)
  23. {
  24. #ifdef PACKEDFLOAT
  25. float blend = 0.;
  26. #else
  27. vec4 blend = vec4(0.);
  28. #endif
  29. #include<kernelBlurFragment>[0..varyingCount]
  30. #include<kernelBlurFragment2>[0..depCount]
  31. #ifdef PACKEDFLOAT
  32. gl_FragColor = pack(blend);
  33. #else
  34. gl_FragColor = blend;
  35. #endif
  36. }