The SPIN Framework is a software suite and set of libraries for Linux and OSX that support 'Spatial Interaction' and 3D visualization in networked virtual environments. It uses a client-server model to support distributed immersive environments and collaborative interaction in shared virtual reality.
- Open source (LGPL license)
- Extensible C++ architecture using OpenSceneGraph / OpenGL
- Uses OpenSoundControl (OSC) for network messaging
- Embedded Pyhton interpreter to add custom 'behaviors' to nodes
- Provides high-level control of scene state (affine transformations, texture mapping, lighting control, interaction logic, 3D sound, etc.)
- Supports a number of 3D model formats (.osg, .3ds, .obj, .dae, .fbx, etc)
- Texture mapping support for videos (via FFMPEG) and most common image formats.
There are many potential domains of use for the framework, as outlined below:
Networked Immersive Environments & Virtual Reality
The spinviewer application supports customizable screen configurations, allowing for projection on domes, panoscopes, cylindrical displays, CAVEs, and multi-screen powerwalls. A networked insfrastructure allows for the distribution of rendering to several machines, thus balancing the load for complex scenes. It also provides a mechanism to share virtual worlds between several participants.
Kiosks and Interactive Displays
The SPIN Framework is well suited to the design and deployment of interactive displays. Rich 3D graphics and unique interactivity features allow for a variety of visualization paradigms. Support for bleeding edge controllers, cameras, spatial audio, and tracking technology allows for a highly customizable experiences.
High fidelity telepresence integration using the Scenic library allows SPIN to integrate remote audio and video feeds into the 3D scene. The frameworks supports multiple textures and several channels of audio, depending on bandwidth, and supports texture replacement of UVW maps for fine control of texture mapping.
Artistic works developed with the SPIN Framework have been presented in a number of international festivals, conferences and performances. See the showcase section for several examples.
Rich support for 3D audio:
Rapid prototyping of 3D interaction:
Network communication for SPIN is based on OpenSoundControl (OSC), a standard protocol used by rapid prototyping systems like Pure Data, Max/MSP, OpenFrameworks, Processing, etc.. SPIN provides generic mechanisms for spatial manipulation, based on geometric events (movement, intersection, collisions, etc.), so a number of interaction paradigms can be explored.