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
Vendored
+16
-5
@@ -54,10 +54,20 @@ const FAMILIES = [
|
||||
{ name: 'Tunnel Neon', scale: 1.0 },
|
||||
{ name: 'Tempesta Plasma', scale: 1.0 },
|
||||
{ name: 'Supernova', scale: 1.0 },
|
||||
// Camera-interactive family (interactive.js): webcam motion pushes physical
|
||||
// balls around the screen. Excluded from Auto VJ (turning the camera on must
|
||||
// stay a deliberate user choice).
|
||||
{ name: 'Interattivo Palle', scale: 1.0, interactive: true }
|
||||
// Camera-interactive families (interactive.js): webcam motion drives the
|
||||
// scene (interMode picks the behaviour). Excluded from Auto VJ (turning the
|
||||
// camera on must stay a deliberate user choice). Append-only.
|
||||
{ name: 'Interattivo Palle', scale: 1.0, interactive: true },
|
||||
{ name: 'Interattivo Bolle', scale: 1.0, interactive: true, interMode: 'bubbles' },
|
||||
{ name: 'Interattivo Palloncini', scale: 1.0, interactive: true, interMode: 'balloons' },
|
||||
{ name: 'Interattivo Specchio', scale: 1.0, interactive: true, interMode: 'mirror' },
|
||||
{ name: 'Interattivo Tessuto', scale: 1.0, interactive: true, interMode: 'cloth' },
|
||||
{ name: 'Interattivo Pittura', scale: 1.0, interactive: true, interMode: 'paint' },
|
||||
{ name: 'Interattivo Fluido', scale: 1.0, interactive: true, interMode: 'fluid' },
|
||||
{ name: 'Interattivo Silhouette', scale: 1.0, interactive: true, interMode: 'silhouette' },
|
||||
{ name: 'Interattivo Sciame', scale: 1.0, interactive: true, interMode: 'swarm' },
|
||||
{ name: 'Interattivo Piastrelle', scale: 1.0, interactive: true, interMode: 'tiles' },
|
||||
{ name: 'Interattivo Firewall', scale: 1.0, interactive: true, interMode: 'firewall' }
|
||||
];
|
||||
|
||||
// Palettes: low colour (a) -> high colour (b), plus optional hue-cycle/sat.
|
||||
@@ -117,7 +127,8 @@ function makeEffect(fi, pi, vi) {
|
||||
// setEffect can't leave a stale flag behind when switching presets.
|
||||
isFluid: fam.fluid ? 1 : 0,
|
||||
fluidMode: fam.fluidMode || 'ink',
|
||||
isInteractive: fam.interactive ? 1 : 0
|
||||
isInteractive: fam.interactive ? 1 : 0,
|
||||
interactiveMode: fam.interMode || 'balls'
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user