L'espace-projet définit la configuration du système
à partir de cet espace réel de composition, Spa crée des contextes qui sont autant de projections, sources sonores, systèmes d'éclairages, moteurs, etc.. et se charge de gérer l'interaction entre cet espace, ses différents contextes, les utilisateurs, et des bases de données, internet, etc...
Les 3 axes de développement de Spa sont :
Indépendant des supports de présentations. Gestion de la continuité des espaces visuels sur plusieurs projecteurs. Répartition des sources sonores sur les haut-parleurs.
On passe d'une composition à une autre afin de pouvoir raconter une histoire. On interagit au travers de tracking de mouvement, senseurs, ...
Spa est extensible pour créer de nouveaux modules, de nouvelles fonctions, de nouveaux controleurs. La structure client-serveur permet de chaîner des unités de calcul pour répartir la charge de traitement.
Spa est indépendant des surfaces de présentation (écrans, plasma, leds ...). Il permet de
définir un espace (ou multiples espaces) où les contenus doivent être
présentés.
On peut alors créer de multiples contextes (surfaces de projection,
structures, acteurs, sol) à l'intérieur de ces espaces.
Spa calcule la déformation impliqué par la géométrie (plan, sphère, courbe) et
les projecteurs et leurs optiques.
On peut composer dans chaque contexte des images, vidéos et graphismes génératifs.
Adaptation géométrique de contenus vidéo et interactif en HD, sur toute surface en multi-projection avec edgeblend.
Spa est basé sur la création de module sous forme client-serveur. L'interface principale, le compositeur peut fonctionner sur un portable et contrôler les render engines qui peuvent se trouver sur d'autres ordinateurs. Il devient alors possible de chaîner et d'étendre la puissance de calcul disponible.
OpenGL, Multiples Core usage, Clusters, OSC communication.
Les principaux ensembles de modules sont :
encapsulateur de langages
Spa fait appel à des objets/fonctions dans un langage spécifique adapté à chaque situation et contrôle des logiciels dédiés existants: