a fistful of silicates, impotent and frail, eroding, slipping
(2023, webgl animation, clipart imagery, generative token)Iconography => Gesture => Texture
Or that's the gist. This project is ~3 months in the making, a return to the screen as a flat surface on the threshold of refuting or embracing a mimicry of something deeper. The screen is always posturing itself as a portal or window, yet here we paste wallpaper across it and stare. While pixelsorting first attracted me to glitch aesthetics years ago, I wanted to take it in a new direction. Giving a weak agency to the loose pixels, lifting them from flickering light into choreographed dust.
Inspired by 90s office/edutainment graphics, the Jazz solo cup, and dirty bus seat upholstery patterns. Modems, terminals, and bit-crushed colors: It's an archaeology with the artist tossing fresh dirt atop the dig site. My obfuscation is a mirror of bitrot, but whether its resisting or succumbing to entropy is up for debate.
Balancing the adversarial tracer and eroder has been the great challenge, finding a way for underlayers and new pixels to play and fight, but not dissolve away entirely. This work directly builds on my major projects in 2019 which were recursive but additive, with my new goal being to complicate matters and see where it leads.
Notes
This work fits to your pixels, best it can. Will look different on each and every display, while dynamically scaling.
To avoid flicker, please set your display scale/DPI and browser zoom to 100%. If you cannot, scale the artwork until the visual interference is reduced. For persons who are epileptic or flash-sensitive, a low-fps mode is provided.
Note: This is a realtime WebGL animation, and can be GPU-intensive. May not load on older devices. On iOS Safari, some gestures are not compatible, while color resolution may be slightly degraded.
Interaction
Touch Gesture | Action |
double click/tap | scale to best fit |
scroll/pinch | change scale |
swipe down | save a PNG screenshot (2x res) |
swipe up | toggle fullscreen |
Keyboard | Action |
press [spacebar] | pause |
press [f] | fullscreen |
press [w] | fill window (wallpaper mode) |
press [s] | save a PNG screenshot (2x res) |
press [v] | save a WEBM video (10sec) |
press [0] | scale to best fit |
press [1-6] | change scale |
press [shift] | toggle looking around (while zoomed in) |
press [t] | see title |
press [p] | performance widget |
press [e] | low-fps mode |
URL Parameter | Setting | Data Type | Default Value |
---|---|---|---|
[fxhash] | random seed | string | random |
[scale] | zoom/scale | float | best fit (rounded) |
[w] | canvas width | integer | 800 |
[h] | canvas height | integer | 600 |
[flip] | match landscape/portrait | boolean | 1 |
[fill] | override and fill window | boolean | 0 |
[smart] | percent of knowledge base | float | 0.3 – 0.7 |
[safe] | low-fps mode | boolean | 0 |
Credits
- Made with cables.gl
- The source imagery is all clipart from the Internet Archive and Well Read Books in Nanaimo, British Columbia.
- Cheers to ciphrd, for their article on glsl pixelsorting which inspired early growth in this project. It also led me to fxhash.
- 40% of the primary sale proceeds will go to Doctors Without Borders (via donation with Giving Block), and 10% will go to cables.tez for future development.