You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
556 B

  1. varying vec2 V_Texcoord;
  2. uniform sampler2D U_MainTexture;
  3. void main()
  4. {
  5. vec4 color = vec4(0.0);
  6. int coreSize = 3;
  7. float texelOffset = 1/150.0;
  8. float kernel[9];
  9. kernel[6]=1;kernel[7]=2;kernel[8]=1;
  10. kernel[3]=1;kernel[4]=4;kernel[5]=1;
  11. kernel[0]=1;kernel[1]=2;kernel[2]=1;
  12. int index = 0;
  13. for(int y=0; y<coreSize; y++){
  14. for(int x=0; x<coreSize; x++){
  15. vec4 currentColor = texture2D(U_MainTexture, V_Texcoord+vec2((-1+x)*texelOffset, (-1+y)*texelOffset));
  16. color += currentColor*kernel[index++];
  17. }
  18. }
  19. color/=9;
  20. gl_FragColor = color;
  21. }