22 lines
601 B
GLSL
22 lines
601 B
GLSL
#version 330 core
|
|
|
|
uniform sampler2D tex0;
|
|
uniform sampler2D tex1;
|
|
uniform vec2 originalSize;
|
|
|
|
in vec2 v_texCoord0;
|
|
|
|
out vec4 o_color;
|
|
|
|
void main() {
|
|
vec2 size = textureSize(tex0, 0);
|
|
vec2 fixUp = v_texCoord0;
|
|
fixUp.y = 1.0 - fixUp.y;
|
|
fixUp *= (size/originalSize);
|
|
fixUp.y = 1.0 - fixUp.y;
|
|
vec2 pixelPosition = fixUp;
|
|
vec2 centroidPixelPosition = texture(tex0, v_texCoord0).xy;
|
|
vec2 pixelDistance = (centroidPixelPosition - pixelPosition) * size * vec2(1.0, -1.0);
|
|
float threshold = texture(tex1, v_texCoord0).r;
|
|
o_color = vec4(pixelDistance, threshold, 1.0);
|
|
} |