Update mpv config:
This commit is contained in:
parent
64e685695e
commit
d1e0b97d62
36 changed files with 5555 additions and 10 deletions
83
mpv/shaders/hdr-toys/utils/edge_detection.glsl
Normal file
83
mpv/shaders/hdr-toys/utils/edge_detection.glsl
Normal file
|
@ -0,0 +1,83 @@
|
|||
// https://anirban-karchaudhuri.medium.com/edge-detection-methods-comparison-9e4b75a9bf87
|
||||
|
||||
//!HOOK OUTPUT
|
||||
//!BIND HOOKED
|
||||
//!DESC edge detection
|
||||
|
||||
#define tex HOOKED_texOff
|
||||
|
||||
|
||||
const mat3 prewitt_x = mat3(
|
||||
1.0, 0.0, -1.0,
|
||||
1.0, 0.0, -1.0,
|
||||
1.0, 0.0, -1.0
|
||||
);
|
||||
|
||||
const mat3 prewitt_y = mat3(
|
||||
1.0, 1.0, 1.0,
|
||||
0.0, 0.0, 0.0,
|
||||
-1.0, -1.0, -1.0
|
||||
);
|
||||
|
||||
const mat3 sobel_x = mat3(
|
||||
1.0, 0.0, -1.0,
|
||||
2.0, 0.0, -2.0,
|
||||
1.0, 0.0, -1.0
|
||||
);
|
||||
|
||||
const mat3 sobel_y = mat3(
|
||||
1.0, 2.0, 1.0,
|
||||
0.0, 0.0, 0.0,
|
||||
-1.0, -2.0, -1.0
|
||||
);
|
||||
|
||||
const mat3 laplacian_p = mat3(
|
||||
0.0, 1.0, 0.0,
|
||||
1.0, -4.0, 1.0,
|
||||
0.0, 1.0, 0.0
|
||||
);
|
||||
|
||||
const mat3 laplacian_n = mat3(
|
||||
0.0, -1.0, 0.0,
|
||||
-1.0, 4.0, -1.0,
|
||||
0.0, -1.0, 0.0
|
||||
);
|
||||
|
||||
const float base = 0.0;
|
||||
const uvec2 k_size = uvec2(3, 3);
|
||||
const vec2 k_size_h = vec2(k_size / 2);
|
||||
|
||||
vec3 conv(mat3 k) {
|
||||
vec3 x = vec3(base);
|
||||
for (uint i = 0; i < k_size.x; i++)
|
||||
for (uint j = 0; j < k_size.y; j++)
|
||||
x += tex(vec2(j, i) - k_size_h).rgb * k[i][j];
|
||||
return x;
|
||||
}
|
||||
|
||||
vec3 prewitt() {
|
||||
vec3 x = conv(prewitt_x);
|
||||
vec3 y = conv(prewitt_y);
|
||||
vec3 g = abs(sqrt(x * x + y * y));
|
||||
return g;
|
||||
}
|
||||
|
||||
vec3 sobel() {
|
||||
vec3 x = conv(sobel_x);
|
||||
vec3 y = conv(sobel_y);
|
||||
vec3 g = abs(sqrt(x * x + y * y));
|
||||
return g;
|
||||
}
|
||||
|
||||
vec3 laplacian() {
|
||||
vec3 x = conv(laplacian_p);
|
||||
return x;
|
||||
}
|
||||
|
||||
vec4 hook() {
|
||||
vec4 color = vec4(vec3(0.0), 1.0);
|
||||
|
||||
color.rgb = laplacian();
|
||||
|
||||
return color;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue