A funny project realized in my free time.
Based on a physic engine (VVVV + Bullet) and a graphic engine (Touch Designer) in interaction with GPU shared memory to send messages through the two engines.
At first I started with VVVV only, but for performance reasons I chose to separate the physical engine from the graphics engine. TouchDesigner have a very powerfull graphic capabilities.
Based on Bullet physics and VVVV, it is a quasi correct representation of reality, with gravity, collisions and forces applied to the moving elements.
Based on the TouchDesigner engine, it works in forward shading with a pool of interchangeable lights. The materials are based on phong PBR shader with a multi layer normal mapping.
The two Engines communicate thanks to a system of data conversion in gpu and through shared memory with spout.
All data are processed in VVVV, mouse and keyboard inputs, applied forces, skinned animations and cameras movements, then everything is sent to the graphics engine.