Open source · Creative coding · Since 2011

Code that transforms video into living art.

Acid Cam is a cross-platform C++ project for real-time psychedelic video effects, experimental filters, and visual performance. Built for artists, VJs, musicians, and programmers who like to push pixels somewhere unexpected.

Colorful abstract visual created with Acid Cam
Shader packs Default OpenGL and Vulkan libraries included
3 platforms Windows, Linux, and macOS
Open source Built to explore and extend
A visual language made with C++

Experiment without limits

What began as an augmented-reality hallucination simulator has grown into an ecosystem of editors, command-line tools, OpenGL visualizers, mobile apps, and browser experiments. Filters can be mixed in new sequences to create an almost endless range of evolving images.

Real-time visuals

Process video live for performance, music, installations, or fast creative play.

Deep filter library

Combine color, distortion, feedback, and remixing algorithms into original effects.

Made to be extended

Study the code, build new filters, and use the project as a platform for experimentation.

ACMX running its Vulkan backend with a shader library, source editor, and processed video preview
Linux Flatpak · Two rendering backends

ACMX for Linux

One Qt interface now drives the established ACMX2 OpenGL engine and the ACMXVK Vulkan engine. Build fragment and compute shader libraries, create multipass and history effects, react to audio, map MIDI controls, and record the finished video. The latest Flatpak also bundles Stable Diffusion support through sd-server; bring your own compatible model to add image-to-image processing to ACMXVK.

ACMXVK interface beside a colorful live Vulkan shader preview on Windows
Windows beta · Two rendering backends

ACMX for Windows

Use one interface with either the ACMX2 OpenGL engine or the ACMXVK Vulkan engine. Process cameras, videos, and images with fragment shaders, compute shaders, multipass effects, audio reaction, MIDI control, and recording.

Acid Cam Qt running on Linux with webcam and filter controls open
Desktop release

Acid Cam for Windows & Linux

Turn webcam feeds and video files into glitch art with more than 2,200 filters, custom effect chains, color controls, and built-in recording.

The story and philosophy behind the project

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.

Acid Cam abstract artwork