smaa_neighbour.glsl 769 B

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