Simplify orx-jumpflood api
This commit is contained in:
@@ -8,17 +8,15 @@ out vec4 o_color;
|
||||
void main() {
|
||||
vec2 stepSize = 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) * stepSize).r);
|
||||
if (smp != ref && ref == 1.0) {
|
||||
contour = 1.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
float laplacian = -4 * ref;
|
||||
|
||||
laplacian += step(0.5, texture(tex0, v_texCoord0 + vec2(stepSize.x, 0.0)).r);
|
||||
laplacian += step(0.5, texture(tex0, v_texCoord0 - vec2(stepSize.x, 0.0)).r);
|
||||
laplacian += step(0.5, texture(tex0, v_texCoord0 + vec2(0.0, stepSize.y)).r);
|
||||
laplacian += step(0.5, texture(tex0, v_texCoord0 - vec2(0.0, stepSize.y)).r);
|
||||
|
||||
float contour = 1.0 - step(0.0, laplacian);
|
||||
|
||||
o_color = vec4(contour, contour, contour, 1.0);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#version 330 core
|
||||
|
||||
uniform sampler2D tex0;
|
||||
uniform sampler2D tex1;
|
||||
in vec2 v_texCoord0;
|
||||
|
||||
out vec4 o_color;
|
||||
|
||||
void main() {
|
||||
vec2 size = textureSize(tex0, 0);
|
||||
vec2 pixelPosition = v_texCoord0;
|
||||
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);
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
#version 330 core
|
||||
|
||||
uniform sampler2D tex0;
|
||||
uniform sampler2D tex1;
|
||||
in vec2 v_texCoord0;
|
||||
|
||||
out vec4 o_color;
|
||||
|
||||
void main() {
|
||||
vec2 size = textureSize(tex0, 0);
|
||||
vec2 pixelPosition = v_texCoord0;
|
||||
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);
|
||||
#version 330 core
|
||||
|
||||
uniform sampler2D tex0;
|
||||
uniform sampler2D tex1;
|
||||
in vec2 v_texCoord0;
|
||||
|
||||
out vec4 o_color;
|
||||
|
||||
void main() {
|
||||
vec2 size = textureSize(tex0, 0);
|
||||
vec2 pixelPosition = v_texCoord0;
|
||||
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(length(pixelDistance), threshold, 0.0, 1.0);
|
||||
}
|
||||
Reference in New Issue
Block a user