Added ContourPoints and Threshold filters

This commit is contained in:
Edwin Jakobs
2018-10-05 20:57:04 +02:00
parent 862f5aa07d
commit 540113c9ac
3 changed files with 41 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
#version 330 core
uniform sampler2D tex0;
in vec2 v_texCoord0;
out vec4 o_color;
void main() {
vec2 step = 1.0 / textureSize(tex0, 0);
float ref = step(0.5 , texture(tex0, v_texCoord0).r);
vec4 outc = vec4(-1.0, -1.0, 0.0, 1.0);
float contour = 0.0;
for (int y = -1; y <= 1; ++y) {
for (int x = -1; x <= 1; ++x) {
float smp = step(0.5, texture(tex0, v_texCoord0 + vec2(x,y) * step).r);
if (smp != ref) {
contour = 1.0;
}
}
}
o_color = vec4(contour, contour, contour, 1.0);
}

View File

@@ -0,0 +1,13 @@
#version 330 core
uniform sampler2D tex0;
in vec2 v_texCoord0;
uniform float threshold;
out vec4 o_color;
void main() {
float ref = step(threshold , dot( vec3(1.0/3.0), texture(tex0, v_texCoord0).rgb ));
o_color = vec4(ref, ref, ref, 1.0);
}