Studio Nick Verstand / VPRO Medialab
AURA is an audiovisual installation that materialises emotions into a perceptible, physical form. The audience' own emotional experience manifests as organic, pulsing light compositions of various form, colour and intensity. The installation further explores light as a medium, pioneered by artists such as James Turrell, Anthony McCall and Olafur Eliasson.
Naivi wrote the application that allowed the artist to convert the captured emotional data in to streaks of satin looking laser light. The software is build using our own NAP C++ framework and powered all the lasers from a single instance of the running application. The entire laser setup is modular, meaning that any number of lasers can be added and addressed individually. This is useful for future installments of the installation where the number of lasers might vary. For communication we added an OSC layer that runs on it's own thread. The artist is able to pre-visualize all the generated shapes that are send to the laser using an OpenGL canvas that shows an individual render target for every running laser instance.
To achieve a very smooth laser experience (no flickering) the application resamples all the lines based on the individual laser requirements. This means that a steady 60hz laser output is guaranteed. If one laser out performs another laser that laser receives more points to draw per frame. We wrote our own C++ interface to the Etherdream Laser DAC that works on Windows, Linux and OSX. The laser IO is handled on a seperate thread to free the main thread from having to wait for the laser to finish. The main application renders as many frames as it can, averaging around 150+ fps on a medium spec desktop machine.
To deform the laser lines we created a modular mesh processing pipeline that modifies the lines in a sequence of steps. The output is uploaded to the GPU and send to the laser. Because the entire processing pipeline is in 3D the laser receives 3D shapes that are reprojected using a laser projection matrix. This allows for interesting effects in the physical space where a laser light source can rotate around and collapse in on itself.
Rendering is done with our own NAP OpenGL renderer. To load in line geometry we wrote our own SVG converter based on nanosvg. The osc messaging interface is build on top of oscpack. Etherdream dacs were used to convert bits to laser acceptable levels of voltage (ILDA). The entire app is written in C++ using our own NAP creative coding framework.
More info: http://www.nickverstand.com/projects/aura/
In collaboration with: Studio Nick Verstand (artist), VPRO Medialab , Salvador Breed (music), TNO and Eagle Science (emotion analytics and processing)