Advertisement
Guest User

Untitled

a guest
Jul 14th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.28 KB | None | 0 0
  1. #version 120
  2.  
  3. varying vec3 vertex;
  4. varying vec4 color;
  5.  
  6. const float gaussD3 = 0.0044318;
  7. const float gaussD2 = 0.0539910;
  8. const float gaussD1 = 0.2419710;
  9. const float faussD0 = 0.3989423;
  10.  
  11. uniform sampler3D tex;
  12. uniform vec3 direction;
  13.  
  14. // Simple gaussian blur in the specified direction (set direction.x, direction.y, direction.z)
  15. // standard deviation is 1, sample rate is 1 per pixel in a 3 pixel radius
  16. void main() {
  17.     vec4 sum = vec4(0.0);
  18.  
  19.     sum += texture3D(tex, vec3(vertex.x - 3*direction.x, vertex.y - 3*direction.y, vertex.z - 3*direction.z)) * gaussD3;
  20.     sum += texture3D(tex, vec3(vertex.x - 2*direction.x, vertex.y - 2*direction.y, vertex.z - 2*direction.z)) * gaussD2;
  21.     sum += texture3D(tex, vec3(vertex.x - 1*direction.x, vertex.y - 1*direction.y, vertex.z - 1*direction.z)) * gaussD1;
  22.     sum += texture3D(tex, vec3(vertex.x, vertex.y, vertex.z)) * gaussD0;
  23.     sum += texture3D(tex, vec3(vertex.x + 1*direction.x, vertex.y + 1*direction.y, vertex.z + 1*direction.z)) * gaussD1;
  24.     sum += texture3D(tex, vec3(vertex.x + 2*direction.x, vertex.y + 2*direction.y, vertex.z + 2*direction.z)) * gaussD2;
  25.     sum += texture3D(tex, vec3(vertex.x + 3*direction.x, vertex.y + 3*direction.y, vertex.z + 3*direction.z)) * gaussD3;
  26.  
  27.     gl_FragColor = color * sum;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement