smaa_blend.glsl 849 B

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