24 lines
764 B
Plaintext
24 lines
764 B
Plaintext
|
layout(rgba8, binding = 0) uniform image2D imgOutput;
|
||
|
|
||
|
uniform sampler2D inputTexture;
|
||
|
layout( location=0 ) uniform vec2 invResolution;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
vec2 loc = ivec2(gl_GlobalInvocationID.x * 4, gl_GlobalInvocationID.y * 4);
|
||
|
for(int i = 0; i < 4; i++)
|
||
|
{
|
||
|
for(int j = 0; j < 4; j++)
|
||
|
{
|
||
|
ivec2 texelCoord = ivec2(loc.x + i, loc.y + j);
|
||
|
vec2 coord = (texelCoord + vec2(0.5)) / invResolution;
|
||
|
vec4 offset[3];
|
||
|
SMAAEdgeDetectionVS(coord, offset);
|
||
|
vec2 oColor = SMAAColorEdgeDetectionPS(coord, offset, inputTexture);
|
||
|
if (oColor != float2(-2.0, -2.0))
|
||
|
{
|
||
|
imageStore(imgOutput, texelCoord, vec4(oColor, 0.0, 1.0));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|