smaa_neighbour.glsl
1 layout(rgba8, binding = 0) uniform image2D imgOutput; 2 3 uniform sampler2D inputTexture; 4 layout( location=0 ) uniform vec2 invResolution; 5 uniform sampler2D samplerBlend; 6 7 void main() { 8 vec2 loc = ivec2(gl_GlobalInvocationID.x * 4, gl_GlobalInvocationID.y * 4); 9 for(int i = 0; i < 4; i++) 10 { 11 for(int j = 0; j < 4; j++) 12 { 13 ivec2 texelCoord = ivec2(loc.x + i, loc.y + j); 14 vec2 coord = (texelCoord + vec2(0.5)) / invResolution; 15 vec2 pixCoord; 16 vec4 offset; 17 18 SMAANeighborhoodBlendingVS(coord, offset); 19 20 vec4 oColor = SMAANeighborhoodBlendingPS(coord, offset, inputTexture, samplerBlend); 21 22 imageStore(imgOutput, texelCoord, oColor); 23 } 24 } 25 26 }