]> git.sesse.net Git - movit/blobdiff - complex_modulate_effect.frag
Add an effect for complex multiplication.
[movit] / complex_modulate_effect.frag
diff --git a/complex_modulate_effect.frag b/complex_modulate_effect.frag
new file mode 100644 (file)
index 0000000..46de5da
--- /dev/null
@@ -0,0 +1,9 @@
+uniform vec2 PREFIX(num_repeats);
+
+vec4 FUNCNAME(vec2 tc) {
+       vec4 pixel = INPUT1(tc);
+       vec2 pattern = INPUT2(tc * PREFIX(num_repeats)).xy;
+
+       // Complex multiplication between each of (pixel.xy, pixel.zw) and pattern.xy.
+       return pattern.x * pixel + pattern.y * vec4(-pixel.y, pixel.x, -pixel.w, pixel.z);
+}