Dans mes efforts pour outrepasser la limitation perçue qu’est la planéité et le point de vue unique en photographie, j’ai commencé à m’intéresser aux représentations 2.5D, c’est-à-dire un ensemble de techniques où l’on prête une perspective à l’image à partir d’éléments plats. Ce qui m’intéresse tout particulièrement est la parallaxe simulée, où l’on décompose une image en plusieurs calques – chacun assigné à un niveau de profondeur donné – pour ensuite les déplacer latéralement, l’amplitude du mouvement étant accentuée pour les éléments les plus proches. J’ai donc entrepris de créer un module qui permettrait de présenter en parallaxe simulée des images préalablement scindées en calques, en recourant de plus à un affichage stéréoscopique.
Pour effectuer mes tests initiaux, j’ai repris l’œuvre Dali Atomicus de Philippe Halsman (1948). J’ai séparé l’image en ses éléments constituants, en prenant soir de remplir le vide derrière les zones occultées.
Dans TouchDesigner, après avoir complété un prototype initial avec les calques connectés directement sur des sprites rectangulaires, j’ai opté pour une solution plus élégante avec un opérateur Replicator pour analyser les fichiers source, et la fonction instancing pour générer la géométrie. De cette manière, le module peut afficher n’importe quelle série d’images contenue dans un dossier. Une glissière me permet également de varier la distance entre les calques. Pour afficher le résultat en stéréoscopie, j’ai dupliqué l’opérateur caméra, et j’ai décalé le paramètre IPD (inter-pupillary distance).
Afin de déplacer le point de vue, j’ai créé un manipulateur en deux dimensions, dont la position U et V affectent le déplacement de la caméra virtuel en X et Y. Pour l’axe Z, j’ai adjoint une glissière séparée.
Alternativement, je peux connecter un module de suivi de visage à partir d’une Kinect pour déterminer la position XYZ de la caméra, la parallaxe s’ajustant automatiquement à la position de l’observateur.
Lors de mes expérimentations, un enjeu majeur s’est manifesté : si on ne fait que connecter la caméra virtuelle à la position de l’observateur, la scène 3D au complet semble changer d’orientation. Toutefois, ce n’est pas le mécanisme envisagé initialement : pour que la perspective paraisse naturelle du point de vue de l’observateur, il faut effectuer une anamorphose de l’image, pour que la perspective perçue soit cohérente avec le point de vue de l’observateur. Pour ce faire, il est nécessaire de déplacer le point de fuite. À priori, j’ai tenté d’utiliser la fonction de décalage de l’image dans la caméra virtuelle, mais cela s’est avéré fastidieux et imprécis.
L’inspiration pour ce type d’anamorphose vient d’un essai présenté par Johnny Chung Lee dans une conférence TED de 2008, où il utilisait la caméra infrarouge d’un contrôleur Wiimote pour faire le suivi de lunettes équipées de DEL infrarouges. Une autre source d’inspiration vient d’une performance intitulée Box de Bot & Dolly/GMUNK (2013), où une caméra contrôlée par ordinateur filme des écrans montés sur des bras articulés dans une chorégraphie où les trompe-l’œil montrés dans les moniteurs évoquent un sentiment de volume.
Pour effectuer de telles anamorphoses, j’ai tenté d’effectuer une distorsion au rendu provenant d’une caméra virtuelle, mais le résultat s’avère dégradé par l’interpolation géométrique des pixels. Il est donc apparent qu’il faut manipuler la perspective à même la scène 3D. Cette tâche étant au-delà de mes compétences, j’ai sollicité de l’aide sur les forums de TouchDesigner, et on m’a proposé une solution qui semble fonctionner plutôt bien.
J’aimerais éventuellement intégrer cette technique à un dispositif de représentation de portraits pour que l’observateur puisse éventuellement varier son point de vue pour contempler le sujet représenté dans un cadre virtuel avec une perspective qui s’adapte fidèlement à son point de vue.