convolution.fragment.js 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. // Do not edit.
  2. import { ShaderStore } from "../Engines/shaderStore.js";
  3. const name = "convolutionPixelShader";
  4. const shader = `varying vec2 vUV;uniform sampler2D textureSampler;uniform vec2 screenSize;uniform float kernel[9];
  5. #define CUSTOM_FRAGMENT_DEFINITIONS
  6. void main(void)
  7. {vec2 onePixel=vec2(1.0,1.0)/screenSize;vec4 colorSum =
  8. texture2D(textureSampler,vUV+onePixel*vec2(-1,-1))*kernel[0] +
  9. texture2D(textureSampler,vUV+onePixel*vec2(0,-1))*kernel[1] +
  10. texture2D(textureSampler,vUV+onePixel*vec2(1,-1))*kernel[2] +
  11. texture2D(textureSampler,vUV+onePixel*vec2(-1,0))*kernel[3] +
  12. texture2D(textureSampler,vUV+onePixel*vec2(0,0))*kernel[4] +
  13. texture2D(textureSampler,vUV+onePixel*vec2(1,0))*kernel[5] +
  14. texture2D(textureSampler,vUV+onePixel*vec2(-1,1))*kernel[6] +
  15. texture2D(textureSampler,vUV+onePixel*vec2(0,1))*kernel[7] +
  16. texture2D(textureSampler,vUV+onePixel*vec2(1,1))*kernel[8];float kernelWeight =
  17. kernel[0] +
  18. kernel[1] +
  19. kernel[2] +
  20. kernel[3] +
  21. kernel[4] +
  22. kernel[5] +
  23. kernel[6] +
  24. kernel[7] +
  25. kernel[8];if (kernelWeight<=0.0) {kernelWeight=1.0;}
  26. gl_FragColor=vec4((colorSum/kernelWeight).rgb,1);}`;
  27. // Sideeffect
  28. ShaderStore.ShadersStore[name] = shader;
  29. /** @internal */
  30. export const convolutionPixelShader = { name, shader };
  31. //# sourceMappingURL=convolution.fragment.js.map