Testing a camera controlled golddust particle/interaction system for upcoming music video.
Programmed in C++ with openFrameworks/openCV/openGL running realtime at 1080 HD, 30fps with 20K particles, optical flow, contour analysis, fluid dynamics, FBOs and VBOs.
All particle interaction is controlled entirely by motion on camera.
Most of the particles and fine detail is lost in the video compression, you can see much more in the original quicktime at vimeo.com/2281077
This is one of the random things I put together at the OF Lab, Ars Electronica 2008. Members of the public submit 5 words, and we have a pretty short amount of time (ranging from a couple of hours to a day) to knock something up (preferably with openFrameworks) inspired by the 5 words.
The 5 words I had here was 'one second before big bang'. Visuals all realtime and purely controlled by motion.
Well I finally caved in and bought an iPhone - and my favorite feature (and main reason for buying it) is of course the multi-touch capabilities. So currently OSCemote is my favourite app. Apart from having a few sliders and knobs which transmit OSC (similar to TouchOSC), it also has a multitouch pad which sends out TUIO messages, so any app which responds to TUIO (E.g. anything written with reactivision api) will respond. So I had to try out my visualisation for the Roots Project! Up and running in 5 minutes! Awesome! (I had to rotate the coordinates in my processing code though to have the long end of the iphone screen map to the long end of my desktop screen, slightly annoying that this isn't an option in the app... hopefully soon :P).
This is a demo for a traer like physics library for C++/openFrameworks.
I wrote the lib for a little project with Todd Vanderlin while in Linz, Austria at Ars Electronic 2008 (vimeo.com/1707467). I tried to keep the same API as Traer (so processing code using traer can easily be ported to oF) and it is basically a particle system with springs, attractions, gravity etc (but uses verlet integration instead of RK4).
In this demo I am interacting with the app using the keys:
I was sitting minding my own business, exploring accumulation buffers in Quartz Composer, when all of a sudden I just zoned out, and next thing I know, I found myself staring at Him on my screen. His Noodly Appendages came down and touched me, and guided my hands, connecting Quartz Composer's very own noodles in His Image.
His Noodly Screen Saver runs on Mac OSX 10.5 (Leopard) and you can download it below.
This is a little test using GLSL in Quartz Composer 3.0, and controlling via VDMX. All happening in realtime and completely audio-reactive with no post production or timeline animations etc. The potential is humongous and very exciting!!
Here is the source code for the previous example of 3D Sprite (billboard) particle system Starry Trails. The source code is by no means generic enough to be considered an engine or library, but is work in progress. I will extend the Node3D, SpringyNode3D classes to use Papervision3D and the Billboards for the rendering, and will definitely carry on working on the particle systems. I've also been converting a lot of noise functions to AS3 and will post them soon... its all getting quite exciting in the flash world! :P
This app is made of quite a few classes so Ill start from the top (application) downwards.
/***********************************************************************
MAIN DOCUMENT CLASS
make sure you have 2 sprites in your library exported for actionscript with linkage identifiers set to RedStar and BlueStar
***********************************************************************/
package {import flash.display.*;
import msa.sprite3d.*;
publicclass StarryMouse3Dapp extends Sprite {publicfunction StarryMouse3Dapp(){
A 3D particles system using Action Script 3. This does not use Papervision 3D or any other 3D engine but just a simple custom 3D sprite based engine. Not sure whether I should spend time enhancing this or just use Papervision for this kind of stuff. I've used it a bit and it looks great (will post some stuff soon), but I don't know if there is any unnessecary overheads for just 3D sprite stuff. When I get a chance I"ll recreate this demo in Papervision and compare the results.
Onset assistant director and visual effects supervisor, also responsible for post production on 60second commercial for clothing brand Riva. 3-day shoot in studio (mainly greenscreen shoot) in south France. Post production work involved keying, tracking, virtual set building, stabilizing, compositing, particles, cloth simulations and motion graphics.
Created full flash portfolio website for illustrator and designer Jane Laurie - www.janelaurie.com. Site is entirely data driven via a PHP/MySQL backend. Front end is fully object oriented and written in AS3. Client can login and add/edit/remove images and text.
A volleyball derivative flash game posing as a christmas card. Fully themeable and currently includes 2 skins, main skin by Dirk van Dijk, 2nd skin by Jane Laurie.
Continuation of the particle system evolved into branch-like structures. Few parameters tweakable in runtime. Click here to view (you will need a java enabled browser to run this applet).
/************************************* CONSTANTS ****************************************/int CLEAR_MODE = 0;
int CLEAR_NONE = CLEAR_MODE++;
int CLEAR_CLEAR = CLEAR_MODE++;
int CLEAR_FADE = CLEAR_MODE++;
//char[][] ClearStates = ["Clear:None", "Clear: Clear", "Clear:Fade"]int BRANCH_MODE = 0;
int BRANCH_NONE = BRANCH_MODE++;
int BRANCH_BRANCH = BRANCH_MODE++;
int BRANCH_DRIP = BRANCH_MODE++;
int BGCOLOR = 255;
int MAX_CIRCLE_SIZE = 15;
/************************************* VARS ****************************************/boolean bMouseMode = false;
float fHeadSpeed = 2;
float fNoiseSpeed = 1;
int iClearMode = CLEAR_CLEAR;
int iBranchMode = BRANCH_BRANCH;
int numBranches;
int numCircles;
BRANCH[] branches;
VECTORFIELD VectorField = new VECTORFIELD(2, 0.5, 1, 1);
A short musical animation inspired by and dedicated to Soledad Miranda's (RIP) performance in the movie Vampyros Lesbos. Modeled and animated in 3DSMax, edited with Premiere. Footage shot with DVCam. Motion graphics and effects done with AfterEffects. Particles, compositing and post-production in Combustion. Audio track 'The Message' by Manfred Hubler and Siegfried Schwab from the soundtrack of Vampyros Lesbos.
A short film looking through the eyes of someone looking to get home in the early hours of the morning after a long night. Post-production done in AfterEffects. Originally created as an audio-visual loop for warp records to be used in VJ sets. Audio track 'Frost Investigations' by Chris Clarke from warp records.