Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // gaussianTexCoordsX.vert
- #version 120
- attribute vec4 position;
- attribute vec2 texCoord;
- varying vec2 vertex;
- varying vec2 blurCoords[7];
- void main() {
- gl_Position = position;
- vertex = texCoord;
- blurCoords[0] = texCoord + vec2(-3, 0);
- blurCoords[1] = texCoord + vec2(-2, 0);
- blurCoords[2] = texCoord + vec2(-1, 0);
- blurCoords[3] = texCoord + vec2( 0, 0);
- blurCoords[4] = texCoord + vec2( 1, 0);
- blurCoords[5] = texCoord + vec2( 2, 0);
- blurCoords[6] = texCoord + vec2( 3, 0);
- }
- // gaussian.frag
- #version 120
- varying vec2 vertex;
- varying vec2 blurCoords[7];
- const float gaussD3 = 0.0044318;
- const float gaussD2 = 0.0539910;
- const float gaussD1 = 0.2419710;
- const float gaussD0 = 0.3989423;
- uniform sampler2D tex;
- // Simple gaussian blur over the specified coordinates (blurCoords[blurCoords.length/2] is middle point)
- // standard deviation is 1
- void main() {
- vec4 sum = vec4(0.0);
- sum += texture2D(tex, blurCoords[0]) * gaussD3;
- sum += texture2D(tex, blurCoords[1]) * gaussD2;
- sum += texture2D(tex, blurCoords[2]) * gaussD1;
- sum += texture2D(tex, blurCoords[3]) * gaussD0;
- sum += texture2D(tex, blurCoords[4]) * gaussD1;
- sum += texture2D(tex, blurCoords[5]) * gaussD2;
- sum += texture2D(tex, blurCoords[6]) * gaussD3;
- gl_FragColor = sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement