Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #version 150
- uniform sampler2DRect tex0;
- const float diag = 1.414213562373095;
- in vec2 fragCoord;
- out vec4 outputColor;
- uniform float T;
- vec4 F(vec4 x0,vec4 x1,float dist)
- {
- return (x1-x0)/(T*dist);
- }
- void main()
- {
- ivec2 ix = ivec2(fragCoord.xy);
- vec4 x11 = texelFetch(tex0, ix);
- vec4 x01 = texelFetchOffset(tex0, ix, ivec2(-1, 0));
- vec4 x21 = texelFetchOffset(tex0, ix, ivec2( 1, 0));
- vec4 x10 = texelFetchOffset(tex0, ix, ivec2( 0,-1));
- vec4 x12 = texelFetchOffset(tex0, ix, ivec2( 0, 1));
- vec4 x00 = texelFetchOffset(tex0, ix, ivec2(-1,-1));
- vec4 x02 = texelFetchOffset(tex0, ix, ivec2(-1, 1));
- vec4 x20 = texelFetchOffset(tex0, ix, ivec2( 1,-1));
- vec4 x22 = texelFetchOffset(tex0, ix, ivec2( 1, 1));
- vec4 d01 = F(x11,x01,1.0);
- vec4 d21 = F(x11,x21,1.0);
- vec4 d10 = F(x11,x10,1.0);
- vec4 d12 = F(x11,x12,1.0);
- vec4 d00 = F(x11,x00,diag);
- vec4 d02 = F(x11,x02,diag);
- vec4 d20 = F(x11,x20,diag);
- vec4 d22 = F(x11,x22,diag);
- vec4 res = x11+d01+d21+d10+d12+d00+d02+d20+d22;
- vec4 color = texture(tex0,fragCoord);
- outputColor = vec4(res.rgb,1.0);
- }
Add Comment
Please, Sign In to add comment