diff options
| author | s-ol <s+removethis@s-ol.nu> | 2025-11-08 21:15:40 +0000 |
|---|---|---|
| committer | s-ol <s+removethis@s-ol.nu> | 2025-11-08 21:15:40 +0000 |
| commit | f32f5b6fa1dc1f0fffce96a38984e1bdf747073f (patch) | |
| tree | 3f87ee28665b394f393ae12e1c88bf86ef45e330 /examples | |
| parent | lib/glsl-view: fix documentation (diff) | |
| download | alive-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.alv | 37 | ||||
| -rw-r--r-- | examples/glsl-view/video.alv | 29 |
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); +}") |
