vvvv ( = "v4") is a general purpose toolkit with a special focus on real-time video synthesis and programming large media environments with physical interfaces, real-time motion graphics, audio and video. vvvv uses a dataflow approach and a visual programming interface for rapid prototyping and developing. Applications written in vvvv are commonly called patches. Patches consist of a network of nodes. Patches can be created, edited and tested while they are running. Patches are stored on the disk in standard XML format. vvvv is written in Borland Delphi, plugins can be developed in the .NET Framework in C#.
Most nodes handle data in a one-dimensional array of values, called Spreads. In addition to traditional vector algebra this allows programming of particle systems, as also rendering nodes and deal with arrays of values accordingly. If an operation has to deal with arrays of different lengths, the shorter array gets repeated to fill up the larger.
vvvv includes a feature it calls boygrouping, where one computer controls a number of slave computers to operate in parallel, with all programming and editing done on the master computer.
The toolkit has the ability to work with HLSL Shaders which are written in their common textual form but are embedded in the data flow language and are instantly compiled and uploaded as soon any part of their source code is changed.
With a focus on video synthesis and processing, vvvv uses the toolkit DirectX and, as such, is available for Microsoft Windows systems only, although it is known to run stably under Parallels and VMWare Fusion. vvvv currently supports DirectX 9 (including PS 3 and VS 3 shader techniques) and DirectX 11.
vvvv was initially developed by the Frankfurt-based media collective MESO as an in-house tool for their own projects, but was then released. vvvv is now maintained by the VVVV group.
vvvv is free for non-commercial use and available for download at its website. Any commercial uses require a license.