Ten more interactive camera families: bubbles, balloons, particle mirror, cloth, light painting, touch fluid, electric silhouette, swarm, tile wall, firewall
interactive.js becomes a multi-mode engine sharing camera, motion grid, gradient/centroid tracking and the mouse fallback. New renderers: point/line sprites (mirror/swarm/cloth/pops) and a ping-pong trail FBO (painting). fluid.js gains a 'touch' emitter mode fed by motion splats from the camera. Mirror mode reforms the custom SVG/image if loaded, else a DJ LUZA wordmark. UNPACK_ALIGNMENT set to 1 for non-multiple-of-4 single-channel uploads. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ea31d68350
commit
7e745743c5
4 files changed
+886
-154
No files matched your search
@@ -90,6 +90,9 @@ class Visualizer {
|
||||
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
|
||||
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);
|
||||
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false);
|
||||
// Also kept for the interactive "mirror" mode, whose particles reform
|
||||
// the custom image instead of the default wordmark.
|
||||
this.customSource = source;
|
||||
}
|
||||
|
||||
render(timeSec, audio) {
|
||||
@@ -98,6 +101,7 @@ class Visualizer {
|
||||
if (this.inter && !e.isInteractive) this.inter.suspend();
|
||||
if (e.isInteractive && window.InteractiveSim) {
|
||||
if (!this.inter) this.inter = new window.InteractiveSim(gl);
|
||||
this.inter.customSource = this.customSource || null;
|
||||
this.inter.render(timeSec, audio, e, this.canvas);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user