aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2025-11-08 21:15:40 +0000
committers-ol <s+removethis@s-ol.nu>2025-11-08 21:15:40 +0000
commitf32f5b6fa1dc1f0fffce96a38984e1bdf747073f (patch)
tree3f87ee28665b394f393ae12e1c88bf86ef45e330 /examples
parentlib/glsl-view: fix documentation (diff)
downloadalive-f32f5b6fa1dc1f0fffce96a38984e1bdf747073f.tar.gz
alive-f32f5b6fa1dc1f0fffce96a38984e1bdf747073f.zip
lib/glsl-view: add buffered-stream-source
Diffstat (limited to 'examples')
-rw-r--r--examples/glsl-view/buffered-stream.alv37
-rw-r--r--examples/glsl-view/video.alv29
2 files changed, 66 insertions, 0 deletions
diff --git a/examples/glsl-view/buffered-stream.alv b/examples/glsl-view/buffered-stream.alv
new file mode 100644
index 0000000..94cb81b
--- /dev/null
+++ b/examples/glsl-view/buffered-stream.alv
@@ -0,0 +1,37 @@
+([1]import* glsl-view math link-time)
+([2]import osc random)
+
+([4]def *oscout* ([3]osc/connect 'localhost' 9000)
+ *clock* ([8]clock true 110 60))
+
+([7]def cam ([99]buffered-stream-source '3D' 64 '/home/s-ol/misc/WeChat_20241111172619.mp4'))
+
+([10]draw $[5]shader"
+in vec2 uv;
+out vec4 outcol;
+
+void main() {
+ vec3 nuv = vec3(uv, $([6]offset cam));
+ nuv.xy -= 0.5;
+
+ nuv.y /= 16.0 / 9.0;
+
+ vec2 bu = nuv.xy;
+
+ nuv.z -= abs(length(nuv.xy) / 2);
+
+ nuv.y *= 16.0 / 9.0;
+ nuv.xy += 0.5;
+
+ nuv.xy *= 480;
+ nuv.xy = floor(nuv.xy);
+ nuv.xy /= 480;
+
+ vec3 color = texture($cam, nuv).rgb;
+ // color.r = step(uv.x, nuv.z);
+ // color.g *= 0.5 + 0.5 * step(uv.x, $([11]ramp 3));
+ // color.b *= 0.5 + 0.5 * step(uv.x, $([13]ramp 2));
+ // color.r *= 0.5 + 0.5 * step(1 - uv.x, $([14]ramp 2));
+
+ outcol = vec4(color, 1);
+}")
diff --git a/examples/glsl-view/video.alv b/examples/glsl-view/video.alv
new file mode 100644
index 0000000..8b0fe70
--- /dev/null
+++ b/examples/glsl-view/video.alv
@@ -0,0 +1,29 @@
+([1]import* glsl-view math link-time)
+([2]import osc random)
+
+([4]def *oscout* ([3]osc/connect 'localhost' 9000)
+ *clock* ([8]clock true 110))
+
+([7]def v3d ([6]video-source '3D' '/home/s-ol/drone.mkv')
+ v2d ([9]stream-source '2D' '/home/s-ol/drone.mkv'))
+
+([10]draw $[5]shader"
+in vec2 uv;
+out vec4 outcol;
+
+uniform float tmpval;
+
+void main() {
+ vec3 nuv = vec3(uv, $([11]ramp 60));
+ nuv.xy *= 2;
+ nuv.z += dot(floor(nuv.xy), vec2(2, 1)) / 32;
+ vec3 v3d = texture($v3d, nuv).rgb;
+
+ vec3 v2d = texture($v2d, uv).rgb;
+
+ vec3 color = mix(v3d, v2d, $([12]lfo 8));
+
+ color *= $([16]fade 4 1);
+
+ outcol = vec4(color, 1);
+}")