Visual Live-Programming with vvvv


Very Visual

vvvv is a visual-first live programming environment for the .NET ecosystem. Its language VL combines metaphors known from dataflow, functional and object oriented programming.

There is no need to write any code, unless you really want to.

Inherently Fast

vvvv programs are compiled and run on the .NET virtual machine. As such they are as fast as if you’d write them in C#.

Want to use all the cores of your CPU? With VL it requires no rocket science to have parts of your program run on separate threads.

Quick To Iterate

vvvv has one mode: Runtime. Modify your program while it is running, compilation happens in the background.

With its state hot-reload technology, vvvv saves you precious time: There is no need to restart your program to see the effects of changes you make.

Ready To Connect

vvvv comes with support for many hardware devices, like color and depth cameras, the serial port,…

Also, it speaks most common protocols, like OSC, UDP, TCP, Art-Net, ZMQ, MQTT, Websocket, HTTP, RCP,…

Open To Extend

vvvv can be extended with custom nodes written in pure C#. No proprietary plugin-wrapping boilerplate code is needed.

This allows you to directly consume almost any .NET library from nuget.org, without having to write a single line of code.

Proven To Perform
vvvv’s initial release was in 2002. It is since in use by people around the world to build live-shows and permanent installations.
Built To Be Learned

vvvv comes with a built-in HelpBrowser that gives you direct access to examples and explanations. A series of video tutorials provides you with the fundamentals in no time.

If you need a hand, a caring community is waiting for you to join. vvvv’s chat and forums are both open 24/7.

The Road Ahead
Want to know what we are currently working on and what to expect in upcoming releases?
Check Our Roadmap
Multi-Paradigm
  • Combines metaphors known from dataflow, functional and object-oriented programming
  • Strictly evaluated
  • Regions aka visual code blocks (loops, if, delegates, ...)
  • Process nodes aka simple lifetime management
  • Adaptive nodes aka adhoc polymorphism
Advanced Type System
  • Statically typed
  • Automagic type inference
  • First class support for mutable and immutable datatypes
  • Generics aka parametric polymorphism (with bounded quantification)
  • Interfaces aka subtype polymorphism
Supportive IDE
  • Runtime value inspection
  • Reactive/Async programming
  • Easy multithreading
  • Compiles to C# using Roslyn
  • Consumes any .NET assembly by providing all methods as nodes
Core Libraries
  • 2d drawing (GPU accelerated) with SVG and PDF export based on SkiaSharp
  • Dear ImGui based rapid UI creation
  • Serialization, async File IO, XML and JSON parsing and generation
  • 2d and 3d math library with collision detection operations
3D rendering
  • High-level scenegraph based workflow with lights, shadows, an extensive material pipeline and various PostFX (ambient occlusion, depth of field, …)
  • Low-level shader based workflow with full access to the engine
  • OpenXR support
  • Based on the Stride 3d Engine
  • WebRenderer based on CEF
Visual GPU programming
  • Procedural noise
  • Signed distance field rendering
  • Customizable particle systems
  • Vector fields
  • Fluid simulation
  • Provided via the contributed FUSE library
Computer Vision
  • Image filters
  • Feature detection and tracking
  • Aruco 3D marker tracking
  • Camera and projector calibration
  • Based on OpenCVSharp
Machine Learning
  • Use GPU accelerated MediaPipe models
  • Controlling Wekinator models is available via a contributed package
Devices and IO Protocols
  • Kinect v1, v2, Azure
  • Intel RealSense, Orbbec Astra, ZED, Nuitrack
  • IDS-Imaging uEye cameras
  • Leap Motion
  • SerialPort
  • OSC, MIDI, DMX, ArtNet, Firmata, UDP, TCP, RCP, WebSocket, HTTP, ZMQ, MQTT, …
Anything missing?

Contact


Imprint

vvvv - Dießl & Gregor GbR
Oranienstrasse 10
10997 Berlin/Germany
VAT: DE275566955

groupӘvvvv.org

Follow us

Mastodon.social
Pixelfed.social
Github
Vimeo
Youtube

Sign up for our Newsletter

Your subscription could not be saved. Please try again.
Your subscription has been successful.