» Blog
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Blog

new post

  reset tags

addon-release core-release date devvvv gallery news screenshot shout stuff
delicious flickr vimeo youtube

Click to toggle, doubleclick or Shift+click to solo a tag

Order by post date popularity

In case you've missed this so far:
There is a line of presentations in parallel to the workshops.
It consists of shorter non hands-on versions of some of the
workshops and additional making-of presentations of projects.

Get an overview below and click the links for full details of
the respective sessions. You can buy tickets for individual
days and book into morning and afternoon sessions separately.

There should be something for everyone.

Tuesday, April 28th

  • 11:00 Recording and Annotating Movements
  • 12:00 Cutting & Folding Paper with vvvv
  • 13:30 The Making Of "Ravel Landscapes"

Full Details

  • 14:30 Connecting Things to the IOT
  • 15:30 Soft Sensors for Soft Bodies
  • 16:30 Motors and vvvv

Full Details

Wednesday, April 29th

  • 11:00 AntTweakBar & Metaio
  • 12:00 Machine Learning
  • 13:30 Rulr: Ways of Seeing (With Computers)

Full Details

  • 14:30 Bullet 3D
  • 15:30 DX11 Rendering in 50 Minutes
  • 16:30 vvvv.js

Full Details

Friday, May 1st

  • 11:00 TBA
  • 12:00 Why the Whole Enchillada?
  • 13:30 Mixing Reality

Full Details

  • 14:30 Kinect + Oculus
  • 15:30 Emeshe
  • 16:30 Projection Mapping
  • 18:00 wirmachenkntxt

Full Details

Saturday, May 2nd

  • 11:00 1024 architecture
  • 12:00 Visions of America: Amériques
  • 13:30 Dancing with Data

Full Details

  • 14:30 Sensitive Assembly
  • 15:30 Eno Henze - Nsynk
  • 16:30 Sebastian Oschatz - Meso

Full Details

joreg, Saturday, Mar 28th 2015 Digg | Tweet | Delicious 0 comments  

Finally, about 13 years late, we hand to you an extensive documentation about one of vvvv's most unique strengths: Spreads. We completely reworked the documentation on the topic and enhanced it with a lot of grayful images like this one:

One of the many spread operations now visualized: the Zip

It may seem a lot to digest at first, but take your time and use it as a reference whenever you're looking for an answer regarding a spreading topic. Specifically the listing of the most important Spread Operations should come in handy for beginners to understand and give them an overview of what spreads are typically used for.


Table of contents

You may note that for a start we have left out more complex spreading scenarios. Still, if one gets a good understanding of those basics all further dimensions should be much easier to grasp. Feedback welcome.

joreg, Wednesday, Mar 25th 2015 Digg | Tweet | Delicious 3 comments  

Who Mapping Festival
When Thu, May 7th 2015 - 18:00 until Sun, May 17th 2015 - 18:00
Where Geneva, Switzerland

Registrations are open for the next workshops of Mapping Festival, dedicated to audio-visual art and digital culture (May 7 to 17 2015).



Articulated around various themes and technological explorations, conducted by international instructors who are specialists in their respective fields, the six workshops will be spread over the two weeks of the festival.
____


Check www.mappingfestival.com for informations and registration.

Deadline: April 5th 2015!



Agit P.O.V. - Bike hacking with led lights (May 8 - 9)

Workshop conducted by Alexandre Castonguay (CA) and Mariángela Aponte Núñez (CO)

During this workshop, the participants will mount a 12-LED circuit, a micro-controller and a battery on their bicycle wheel. They will then be able to use persistence of vision (POV) effect to illuminate the streets during a mobile performance.



Game Design - Short Fiction to Board Game Adaptation (May 8 - 9)

Workshop conducted by Eddo Stern (US) and Douglas E. Stanley (CH)

In collaboration with the HEAD - Geneva

This workshop/masterclass will address various questions related to game design with Arduinity. The instructors will specifically discuss short fiction to life-size board game adaptation.



The Tricodeur - Knitting & Coding (May 8 - 10)

Workshop conducted by Sew&Laine + Louis Eveillard (FR)

The Tricodeur is a hacked knitting machine, which participants will use to address generative design through the creation of simple shapes, enabling the materialization of their knowledge of code on wool knit support.



Opera III - Dance and Interaction (May 8 - 10)
Workshop conducted by Giuseppe Bucci (CH) and Charles Mugel (CH)

In collaboration with the Fête de la danse

This workshop/masterclass proposes to the participants to discover the setup of a choreographic work, and to explore possibilities and constraints related to interaction between movement, sound and visuals thanks to a sensors system mounted on the dancer’s costume.

LED Club Design (May 11 -13)

Workshop conducted by Adrien Boulanger (FR), Yon Aliaga (CH), Gael Abegg-Gauthey (FR), Quentin Berthet (CH)

This workshop will explore the setting-up of a scenography using LED light bars, specially designed for an evening party at the Zoo Club (Geneva). The participants will have the occasion to run the installation during the Mapping Festival opening club night.
____
Mapping Playground (May 12 - 16)

Workshop conducted by CHiKA (US/JP), Mike Latona (BE), Matt Mets (US) + MAD team (FR/CH) & special guests

During 5 days, the participants will explore new techniques for software, electronics, LED lights, video mapping and interactive installations - all in one place. After learning how to manage and execute an installation, they will turn their ideas into a public exhibition at the end of this workshop.

Mapping Festival, Wednesday, Mar 18th 2015 Digg | Tweet | Delicious 0 comments  

When Fri, Mar 27th 2015 - 19:00 until Sat, Mar 28th 2015 - 06:00
Where OHM Berlin, Köpenicker Str. 70, Berlin, Germany

Evening Classes

Night Performance Program

Organized by LAB Berlin


Tickets include entry to Tresor’s All You Need is Ears partner event!

joreg, Wednesday, Mar 18th 2015 Digg | Tweet | Delicious 1 comments  

Ever thought about starting to learn programming with vvvv? Now is the time: From April 27th to May 3rd 2015 the 4th edition of the NODE – Forum for Digital Arts in Frankfurt/Germany offers a series of 48 workshops that welcome everyone to join the vvvv community.

The large number of workshops may be overwhelming to the beginner, so here is a selection of workshops recommended especially for the novice:

Monday/Tuesday

If you've never touched vvvv or you did but are not yet very confident you should definitely first attend either the german or english vvvv for newbies workshop which comprises of a 4 x 3h introduction spread over two days and will provide you with the fundamentals.

If you've already created your first projects but are still unsure about your practices attend Bring Your Own Patch on tuesday afternoon.

Wednesday

Once you're familiar with the basics you have the choice:

Thursday

Take a break and suck in some theory at the symposium.

Friday

In case you can't make monday and tuesday there is another very easy introduction into vvvv offered by the Video Effects and Compositing workshop. Of course not as in depth as the two-day course and much more a focus on the specific topic but still very suitable for total newbies to attend.

Saturday

Further down the road you may want to apply what you've learned so far and check out Cutting & vvvvolding Paper or learn the basics of VVVV.Audio. And in the evening get some inspiration for how your new skills could one day be applied by watching a series of topofthepops audio-visual performances.

Daily

In case the practice ever gets too much for you, note that you can always fall back to nodes comfortable series of 50 minute lectures: Of Patches and Projects. Besides you get to see an extensive exhibition on the forums leitmotif of "The Informed Body".

For completeness: Full Program

And a final word of advice: Don't contemplate about this for too long, most of the workshops already have only a few seats left. Looking forward to patch with you!

joreg, Tuesday, Mar 17th 2015 Digg | Tweet | Delicious 0 comments  

Dear NODE lovvvvers,

weeks of website buidling and fighting drupal resulted in a great digital home for NODE15:
http://node15.vvvv.org

Hopefully you all know this site already, got lost in the program and promising workshop descriptions and are planning your trip to Frankfurt right now.

BOOK YOUR WORKSHOPS NOW

Just have a look at the program, buy yor week or day pass if you didn't do that so far and log in to book them! As you might know from the schedule there are workshops that last a whole day or even two days. If it's possible for you, please book all sessions of one workshop.

Btw, wondering why there was a delay with releasing the booking system?
We have the best excuse and a very cute reason: Tom, alias baby Jenett-Horn :)

Best regards from the NODE15

remony, Friday, Mar 13th 2015 Digg | Tweet | Delicious 2 comments  

Who David Gann
When Tue, Apr 7th 2015 - 16:00 until Thu, Apr 9th 2015 - 20:00
Where Stadtbibliothek Köln, Josef-Haubrich-Hof 1 , 50676 Köln, Germany

A 3D Printer Workshop with VVVV, Blender and Meshlab.
Note it is two dates and you have to sign up at the Homepage of the Stadtbibliothek for each one separately

7. April 16 - 20 Uhrhttp://www.stadt-koeln.de/leben-in-koeln/freizeit-natur-sport/veranstaltungskalender/zentralbibliothek-makerspace-generative-3d-geometrie

9. April 16 - 20 Uhrhttp://www.stadt-koeln.de/leben-in-koeln/freizeit-natur-sport/veranstaltungskalender/zentralbibliothek-makerspace-generative-3d-geometrie-1

English Description:
3D Printing has already reshaped how designers and engineers approach the prototyping and production phase of a new and innovative idea. However this idea may look like, a 3d print always require a 3d model that has to be generated in the computer as a mesh of vertices (3d Points) that are connected in a clearly defined pattern.

The common ways of designing geometry involves hand-shaping those 3d points in a specific software using a palette of tools for modeling. But there are other methods that can significantly enhance our productivity and the quality of the print.
In this Workshop we want to learn and practice a new and promising way of creating a 3d geometry. In a generative design process we define rules and algorithms that build the geometry automatically. In this way we can on the one hand produce very precisely what we want, but there is also plenty of room for experimentation. We can automatically produce hundreds of variations and select the one that we like most. The methods you will learn combine modern advances in computer graphic algorithms (Delauney Triangulation, Tesselation, Spliting and Joining Vertex Buffers, 3d Scanning etc.) and the convincingly intelligent design patterns of nature itself (Plant Growth, Coral Growth, Natural Shapes etc.). This will be learned without writing a single line of programming language as we use the easy and fast to learn toolkit 'VVVV' and the participants can work with a set of prepared VVVV programs. We will also use Blender and Meshlab.

German Description:
3D-Druck hat sich heute bereits für Designerinnen und Designer sowie Ingenieurinnen und Ingenieure als wichtiges Werkzeug in der Prototyping- und Produktionsphase durchgesetzt. In diesem Workshop lernen Sie mit David Gann neue Methoden zur Herstellung von 3D-Geometrie kennen. In einem generativen Designprozess verwenden wir Algorithmen, um Geometrie automatisch entstehen zu lassen. Die hier behandelten Techniken kombinieren neuartige Computergrafik-Algorithmen mit Designkonzepten, die von der Natur inspiriert sind. Der Workshop behandelt das alles, ohne dass die Teilnehmenden tatsächlich Programmcode schreiben müssen, da wir das schnell und einfach zu erlernende Toolkit VVVV einsetzen.

Die Veranstaltung findet in Raum 304 auf der 3. Etage statt.

Workshop-Nummer: M-08

Im Rahmen von "Makerspace - Programm für Selbermacher":
Unser Makerspace ist ein offener Raum für neue Ideen, Potenziale und Do-It-Yourself-Projekte. Eigenes Tun steht im Vordergrund, vor allem aber der Spaß an der Sache! Nach einer kurzen Einführung können Sie selbst die verschiedenen Themen und Techniken ausprobieren. Unsere Expertinnen und Experten unterstützen Sie dabei.

Je nach Workshop werden Kenntnisse im Umgang mit der entsprechenden Informationstechnologie (PC, Smartphone oder Tablet) vorausgesetzt.

Veranstaltungsort

    Stadtbibliothek Köln
    Josef-Haubrich-Hof 1
    50676 Köln - Altstadt/Süd
tekcor, Wednesday, Mar 11th 2015 Digg | Tweet | Delicious 2 comments  

Due to the great success of our recent Holiday Dongle Discount we're happy to announce today the permanent price drop for vvvv dongles to a gorgeous 125€. Congratulations already, future buyers!
And while we have your attention we'd also like to introduce you to our new:

vvvv Dongle Edition

Classic 100% plastic case.
Priced from 125€
Limited Edition 18-karat gold case.
Priced from 11.000€
Choose according to your league. No pressure.

Rent a Dongle

Also new in our shelves: If you need dongles only for a shorter period (eg. the week of a fair) consider renting them. Tell us your specific needs via licensing@vvvv.org and we'll send you a quote.


Protektor provides dongle based copy protection for your vvvv projects. A dongle can be bought in addition to each active (less then a year old) full license. Volume discounts apply as follows:

  • 1-3: 125€ / 11.000€ + VAT
  • 22% off for the 4th to 9th dongle
  • 33% off for the 10th to 19th dongle
  • 44% off for the 20th to 99th dongle
  • 55% off for the 100th and more dongles

Discounts are applied per customer, ie. dongles don't need to be bought in bulk.

Please order via email to licensing@vvvv.org

joreg, Tuesday, Mar 10th 2015 Digg | Tweet | Delicious 1 comments  

helohelohelo,

here is the fifth in a series of blogposts about our forthcoming nextbigthing that we still call vvvv50 (50). If you haven't already done so please first read the previous issues with the titles:

  1. 50: That Next Big Thing. An Overview.
  2. 50: Colors
  3. 50: Properties
  4. 50: Generics
All information given here is still preliminary and subject to change.

Now please fasten your seat belt because this is a big one. Probably the single least asked for feature that could still become 50s unique selling point: Custom Datatypes.

There is a chance that for some of you it will now be enough to explain this in one sentence: In 50 a patch defines a datatype, horray! If that makes sense to you already, then cheers. There isn't much more to learn in this article.

Glad you're still reading. So you belong to the other group of people who are probably afraid that this may be the moment you're loosing it. It being your understanding of how it will be like to patch in the future? Fear not! "Custom Datatypes" only sounds abstract but is actually a very basic and intuitive concept. You'll understand and be happy to have them around soon, read on.

But before demonstrating how custom datatypes make our patchings easier with 50, lets first establish a problem in 45 to pave the road for the hype:

The demo scenario:

  • when the left mousebutton is pressed, particles (with random velocities) are added
  • when a particle reaches y < -1 it is being removed

In good old modular fashion here is how you could approach this:

A patch in 45 is merely a visual clue for the user

Step 1) A single particle

  • Create a patch called Particle that has a "Start Position" (2d), a "Velocity" (2d) and an "Initialize" input
  • Create a node of this Particle-patch, attach it to Mouse and Renderer and voila: A single particle moves as you click in the renderer
Left: the Particle patch that holds and manipulates the particles data in a framedelay loop. Right: a patch utilizing the Particle patch.
Click to enlarge.

Step 2) Multiple particles

  • Want multiple particles? Just spread them, right?. But how? If we'd just put a static randomspread to the Particles velocity input we'd get multiple moving particles, yes, but we'd not be able to remove individual ones once their y < -1
  • Intuitively we'd want to somehow create particles and put them into a spread as such. Only we don't really get hold of the particle itself. What we can get access to is its position and velocity properties. So lets put those in a spread
  • In order to be able to manage (ie. add/remove) individual particles we have to move the framedelay from inside the Particle patch (where we'd actually want it) to its parent patch. Now the Particle patch is degraded to a hull with the name "Particle" but it no longer holds the actual particla-data. That is bad.
Left: the Particle no longer holds the data. Right: the parent patch manages the particles data via InsertSlice and Select within a framedelay loop.
Click to enlarge.

The framedelay together with an InsertSlice and a Select allow us to easily (well,..) add and remove slices dynamically.

So far so 45. See the fact that we needed 2 framedelays here? One for Position and one for Velocity? Oh you can zip those two parameters into one spread, of course. But next you blink the boss demands the particle to have a Color and a Name and you already need 3 framedelays... See where this is going?

The general problem here is that, as mentioned in 50: That Next Big Thing. An Overview., 45 does not really understand subpatches. For 45 everything is just one big patch and when you carefully modularize the Particle patch, 45 does not get any of this. So Position, Velocity and any other parameters are just laying there but 45 does not understand that they all describe properties of a particle and actually belong together.

This is where in 45 we'd advise you to create dynamic plugins to join/split your custom datatype. Thats fine for a start, only it requires you to code. Also there are three contributions that I won't go into detail here but are worth mentioning in that respect: Message by velcrome, VObject by microdee and VVVV.Struct by woei & tonfilm.

So while you see there are ways in 45 to tackle such (still rather simplified) situations, they are all workarounds to that aforementioned inherent problem of 45 not knowing about subpatches. And we need you to be really frustrated about that, not about a missing grid or close-button in the UI. This is where we need you to chant in unison: "Go release the cat, we can't work like that".

Well, here we go:

A patch in 50 defines a datatype

What you really want to express when putting multiple properties in one patch is to wrap up all those properties into one entity that you can operate with. Which is exactly what happens in 50.

So just to make sure we got our terms straight, a quick recap:
Value, String, Color, Transform,... are all primitive datatypes we're used to.
Now when we create our own datatype we can think of it as a compound of multiple primitive ones. So for example our Particle could be a compound of:

  • Position (of type Vector2d)
  • Velocity (of type Vector2d)
  • Color (of type Color)
  • Name (of type String)

In other words: Those 4 properties (each of which has their own primitive datatype) together in a patch make our custom datatype called Particle. And of course this can be taken further. Think of a custom datatype called "Firework" that has a Spread<Particle> (meaning a spread of particles) and so on. So yes, datatypes can be compound and cascaded in any way. Apart from properties, datatypes also usually have one or more operations. Therefore the terms "patch" and "datatype" can be used synonymously.

To the point. We could of course exactly replicate Step 1) from above in 50 but we'll leave that up to your imagination and skip it here (as it would look exactly the same minus the framedelay). Instead we jump right into the definition of our custom datatype, which in its most simple form could look like this in 50:

Reading the patch:
In the (still rather rudimentary) listing on the left side you see that this patch has two properties called "Position" and "Velocity" and it has two operations called "create" and "update".

We've mentioned operations before, they are sections in a patch that can be independently executed. In 45 every patch has only one operation, therefore we never gave it a name, but think of it like "update" or "evaluate", ie. the operation that is called once every frame. In 50 a patch can have any amount of operations that can be executed any amount of times per frame (just dropping that here...more on it in a later posting).

So here the "create" operation is used to set initial values for a particles Position and Velocity properties. In further executions of "update" the velocity is always added to the position and the result is again stored in the "Position" property for the computation of the next frame. Also the result is being returned to the caller of the "update" operation as you can see via the little quad in the bar labeled "update".

Next: How do we create an instance?

Instantiating a custom datatype

ad step 1)
Lets again start with placing just a single particle in the patch:

By simply creating a "Particle" node in a patch, what actually happens in 50 is that we create a static instance of the type "Particle". Static meaning that it is instantiated when the program starts. The particle executes its "create" operation once and then repeats executing the "update" operation every frame until we delete the node or stop the program. We can of course create multiple Particle nodes next to each other and have multiple static instances.

Give it a velocity and it moves..done.

Creating dynamic instances

ad step 2)
The challenge now is to create multiple instances of Particles dynamically. But don't think 45 style SetPatch (VVVV), where you'd tell vvvv to actually create a Particle node and place it in a patch... no. This is where the 50 magic chimes in:

Instead of placing the "Particle" node as such in a patch we can also just call individual of its operations. Booom. In the patch below notice the "* Particle" node. This one is short for Particle.Create(), ie. calling the particles "create" operation to create and return a single instance. And then spot the double-decker ".update Particle" which is (not so short) for Particle.Update() that is called in the "For Each" region, ie. it is called once for each particle in the list.

Reading the patch:
When the left mouse button is pressed a new particle is added to the spread with the current mouse position as start position and a random velocity. Remember from the last posting about generics that the ".add Spread" is not specific to the particle! Then for each particle in the spread the update-operation is called so the particles move. Also for each particle a circle is created. The select node only takes particles that are still alive (ie. have an y < 500) and writes them back to the spread of particles. Finally all the circles are drawn in the renderer.

If you now once more compare the 45 and 50 approaches here is what you should note:

  • in 45 the data of the particle is mixed together in a patch with the parts that manage the particlesystem (ie. add/remove particles). That works ok-ish in this simple example but is hell in larger scenarios.
  • in 50 the data and functionality of the particle are conveniently wrapped inside a particle patch and another patch around the particle, which we could call ParticleSystem, simply manages multiple instances of particles. So when changing functionality in the particle nothing has to be changed in the ParticleSystem. This is big!

You still here?
yawnsmiley... let us digest this information for a while. I think it is enough for this time. Still more to come..
goodnite.

Appreciate what you just read? We appreciate a click: .

joreg, Sunday, Mar 1st 2015 Digg | Tweet | Delicious 10 comments  

Here we go,

turns out it is quite a hassle to get 48 workshops run by 58 hosts in 5 days in 7 rooms under a single hat. You see the gorgeous result above and can get the .pdf here. Now it is on you to find your personal path of interest through the week and get your ticket. Full workshop descriptions and booking of individual seats will be available by next week!

Here is an alternative view on the workshops sorted by some vague categories:

Patching & Coding

  • vvvv for newbies/für Anfänger
  • BYOP - Bring Your Own Patch
  • vvvv50 snail/rabbit introduction
  • Object Oriented Patching with VObjects and Messages
  • Git for vvvv Projects
  • vvvv.js: Extending your Patching Skills to the Web
  • Multiscreen Setups & Boygrouping,
  • Dynamic Plugins,
  • Plugin Development with Thirdparty SDKs

Animation & Graphics

  • Basic DirectX11 Shading
  • Advanced DirectX11 Shading
  • DirectCompute: A Multipurpose Shader
  • Generative Design Algorithms
  • Oculus Basics
  • Box2D Physics in vvvv
  • Realtime Physics in 3D
  • Shading Pointclouds
  • GPU Particles
  • Transformations
  • Emeshe: An Advanced Rendering Technique in DX11
  • Video Effects and Compositing

Hardware & IO

  • Arduino & VVVVirmata
  • Soft Sensors for Soft Bodies
  • Bodysensors
  • 3D Printing - vvvv and OpenSCAD
  • vvvv meets G-Code
  • Cutting & vvvvolding Paper
  • Grasshopper & vvvv
  • The World is our Canvas! Projection Mapping with vvvv
  • Knitting with vvvv
  • Ways of Seeing (with Computers)

Interaction

  • Kinect Basics
  • Kinect Interactions with DX11 - Pointcloud
  • Machine Learning with vvvv
  • Kinect & Oculus
  • Recording and Annotating Movements
  • Interacting with Choreographic Installations
  • Connecting Things to the Internet of Things

Audio

  • Interfacing Reaktor and vvvv
  • SonicPI
  • VAudio

You have no idea how much we are looking forward to this! Roughly 9 weeks time to prepare for the rush everyone. Back to coding...

joreg, Friday, Feb 20th 2015 Digg | Tweet | Delicious 6 comments  

anonymous user login

Shoutbox

~6h ago

udo2013: 16 emitter and a lot of smoke (3d particles with vvvv) https://www.youtube.com/watch?v=aGfS9_KfTRE (drkness2)

~9h ago

vanderplate: Hello guys, how can i get the scene node (assimp library) working? i have the addonpack but can´t find it :(

~12h ago

udo2013: @woei: thanks for your splinesGPU_library

~13h ago

udo2013: tja, simonetta liebt pflanzen... https://www.youtube.com/watch?v=04uGZrz1EW0

~13h ago

udo2013: gerade avatar gesehen.ist mir gar nicht aufgefallen, wie ähnlich die fliegenden pflänzchen und meine schöpfung sich ähnelen

~1d ago

evvvvil: @joreg: Thankx man and thankx again for the "know your spreads" doc update, amazing work, love the pcitures

~1d ago

evvvvil: fuck sake it's obviously "mean" I'm looking for, ignore saturday's stoned rambling. Go lecloneur, looking great!

~1d ago

joreg: @evvvvil: spread sinks

~1d ago

evvvvil: isn't there a node to do an average of a whole spread, can't seme to find it...?