Advertisement
Guest User

Untitled

a guest
Jul 29th, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // gaussianTexCoordsX.vert
  2. #version 120
  3.  
  4. attribute vec4 position;
  5. attribute vec2 texCoord;
  6.  
  7. varying vec2 vertex;
  8. varying vec2 blurCoords[7];
  9.  
  10. void main() {
  11.     gl_Position = gl_ModelViewProjectionMatrix * position;
  12.     gl_TexCoord[0]=gl_MultiTexCoord0;
  13.  
  14.     vertex = texCoord;
  15.     blurCoords[0] = texCoord + vec2(-3, 0);
  16.     blurCoords[1] = texCoord + vec2(-2, 0);
  17.     blurCoords[2] = texCoord + vec2(-1, 0);
  18.     blurCoords[3] = texCoord + vec2( 0, 0);
  19.     blurCoords[4] = texCoord + vec2( 1, 0);
  20.     blurCoords[5] = texCoord + vec2( 2, 0);
  21.     blurCoords[6] = texCoord + vec2( 3, 0);
  22. }
  23.  
  24. // gaussian.frag
  25. #version 120
  26.  
  27. varying vec2 vertex;
  28. varying vec2 blurCoords[7];
  29.  
  30. const float gaussD3 = 0.0044318;
  31. const float gaussD2 = 0.0539910;
  32. const float gaussD1 = 0.2419710;
  33. const float gaussD0 = 0.3989423;
  34.  
  35. uniform sampler2D tex;
  36.  
  37. // Simple gaussian blur over the specified coordinates (blurCoords[blurCoords.length/2] is middle point)
  38. // standard deviation is 1
  39. void main() {
  40.     vec4 sum = vec4(0.0);
  41.  
  42.     sum += texture2D(tex, blurCoords[0]) * gaussD3;
  43.     sum += texture2D(tex, blurCoords[1]) * gaussD2;
  44.     sum += texture2D(tex, blurCoords[2]) * gaussD1;
  45.     sum += texture2D(tex, blurCoords[3]) * gaussD0;
  46.     sum += texture2D(tex, blurCoords[4]) * gaussD1;
  47.     sum += texture2D(tex, blurCoords[5]) * gaussD2;
  48.     sum += texture2D(tex, blurCoords[6]) * gaussD3;
  49.  
  50.     gl_FragColor = sum;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement