Acid Cam: Crafting Psychedelia with C++
Acid Cam originated in 2011 as an augmented-reality hallucination simulator and has evolved through many iterations over the years. These have included the v1 and v2 series, a Qt application, command-line tools, video editors, and OpenGL-based visualization software. Versions of Acid Cam have been developed for Windows, Linux, and macOS, with the v2 series eventually growing to include more than 2,000 CPU-based image filters.
At the center of Acid Cam are its filters. I think of these filters as individual pieces of a visual language, each capable of bending, transforming, repeating, or reinterpreting visual data. Combining them in different sequences allows simple transformations to interact and grow into much more complicated abstract imagery.
ACMX: A Visual Language
ACMX grew out of my interest in treating computer graphics as a kind of visual language. Over many years of development, I have built individual filters, distortions, feedback systems, shaders, symmetry effects, and other transformations that can be combined like pieces of a vocabulary. Each effect has its own visual character, but the more interesting results happen when those pieces interact and begin producing structures that were never explicitly designed.
Part of the inspiration came from Terence McKenna's discussions of visual language and the idea that meaning might be communicated through imagery rather than ordinary words. I became interested in creating my own computational version of that idea. In ACMX, color, motion, repetition, distortion, texture, feedback, and symmetry become elements that can be arranged and rearranged to construct visual information.
The software is especially good at creating patterns that can then be amplified. A small distortion may become a recognizable structure after several stages of processing. Feedback can reinforce an accidental shape. Mirroring can transform noise into something that resembles a face, creature, machine, landscape, or something completely different depending on the viewer.
This ambiguity is important to me. The image provides the structure, but the viewer participates in interpreting it.
For me, ACMX is more than a collection of visual effects. It represents years of experimenting with how individual pieces of code can fit together into a larger expressive system. The finished images and animations are the visible output, but underneath them is a vocabulary I have gradually constructed through programming, experimentation, and imagination. In that sense, ACMX is one of the ways I translate my thoughts into visual form.
Exploring Psychedelia Through Code
Acid Cam and ACMX explore psychedelia through programming rather than attempting to reproduce any single psychedelic experience. The imagery emerges from algorithms, feedback, distortion, color, symmetry, video, shaders, and the interaction between different stages of processing. Sometimes recognizable forms emerge from the abstraction, while other times the result remains entirely open to interpretation.
Both projects are also open source. Part of the idea has always been to make the code available so other programmers and artists can experiment with it, modify it, build their own filters and shader libraries, and discover visual combinations that I may never have considered.
Free Stock Footage
A collection of free stock footage is also available through my Google Drive. The footage may be used freely in projects and videos without payment or attribution. I provide it simply as another resource for people interested in experimenting with visual art.