Sites


Performance audiovisuelle et pratique du VJing

Images génératives

On appelle art génératif les formes artistiques caractérisées par la volonté d'un artiste de transférer à son œuvre tout ou parties de sa capacité à générer des émotions, en donnant à sa création l'autonomie qui lui permet de se développer librement, voire de se créer et se transformer d'elle-même.

Survol historique

Certains courants artistiques textuels ou picturaux explorent depuis les années 1950-60 les notions d'aléatoire et de sérialité. On peut citer par exemple la technique du Cut-Up en littérature, expérimentée notamment par William S. Burroughs, qui consiste à découper aléatoirement un texte et réarranger les fragments obtenus pour en créer un nouveau.

En 1959, les artistes argentins Eduardo Macentyre et Miguel Ángel Vidal créent le mouvement Arte Generativo avec pour volonté de mettre en avant une esthétique de la géométrie des lignes et des formes, et produisent des séquences optiques par déplacements circulaires, verticaux et horizontaux.

Dans le domaine de la sculpture, le travail de Sol LeWitt, pionnier de l'art conceptuel et minimal, met en scène des structures géométriques organisées en réseau. Avec ses Infinite Open Cubes, il étudie la figure du carré et ses potentielles combinaisons en respectant des procédés arithmétiques.

Structures 1965-2006, rétrospective Sol LeWitt au City Hall Park de New York, 2011. Crédit photo : Rob Zand, licence CC BY-SA.

Évoquons enfin, dans cette partie historique, le livre de John Maeda "Design by number" publié en 1999. John Maeda, professeur au MIT, a souhaité à travers ce livre ouvrir à un plus grand nombre la possibilité de réaliser des oeuvres d'art génératives en réalisant des programmes informatiques. Il considérait en effet que ce processus de programmation était fort laborieux et qu'il était nécessaire d'inventer d'autres formes de programmation pour les personnes peu enclines aux mathématiques et à l'informatique. Cela a donné naissance au logiciel DBN que Ben Fry et Casey Reas qui travaillaient avec Maeda ont transformé en "Processing", logiciel abordé dans ce manuel.

Image de l'exposition de John Maeda à la fondation Cartier en 2005

Design génératif

Le développement de l'outil informatique permet par la suite un essor important de l'art génératif. Des logiciels de programmation orientés vers la création artistique voient le jour et contribuent à transformer les processus créatifs. La conception du code (l'outil qui va permettre la création elle-même) fait ainsi désormais partie de la création, brouillant les frontières entre art et technologie, et ouvrant une infinité de nouvelles possibilités de création. On parle alors de creative coding, ou code créatif.

Ces logiciels permettent, entre autres, de concevoir des images non pré-déterminées qui se génèrent d'elles-mêmes en se basant sur des algorithmes informatiques créés par l'utilisateur. Celui-ci écrit une suite d'instructions ou un programme, qui, lorsqu'il est exécuté, entraîne la création autonome d'une séquence d'images. L'introduction de variables aléatoires permet de donner un caractère quasi organique à ces créations numériques, et de créer ainsi des œuvres uniques et originales à chaque nouvelle exécution du programme.

Parmi les logiciels libres de code créatif, citons entre autres Processing (Windows, Mac OSX, GNU/Linux : http://www.processing.org), Pure Data (Windows, Mac OSX, GNU/Linux : http://puredata.info), Field (Mac OSX, GNU/Linux : http://openendedgroup.com/field/) et Nodebox (Mac OS seulement : http://nodebox.net/code/index.php/Home).

Différentes étapes de génération de l'image du logo Floss Manuals dans Processing avec le sketch Spider Web Drawing écrit par Christopher Webb (http://christopher-webb.net/). Le programme compare la couleur de deux pixels choisis aléatoirement dans l'image d'origine et les relie par un trait si elle est suffisamment similaire. Le processus est répété en boucle jusqu'à l'arrêt du programme.

Utiliser le code créatif en live

Les logiciels de code créatif ont pour but de générer de l'image en temps réel et non de créer des fichiers d'images enregistrables. Aussi, bien que ce soit possible dans Processing, ces logiciels ne proposent généralement pas la possibilité d'exporter l'œuvre créée sous forme de vidéo pour pouvoir l'associer à d'autre media dans un mix ou une performance audiovisuelle réalisée dans un autre logiciel. Il existe cependant des manipulations possibles pour contourner ce problème.

Exporter en vidéo depuis Processing

Une animation créée dans Processing peut être enregistrée en vidéo en utilisant l'objet MovieMaker. Lorsque le programme est lancé, la commande initialise un fichier vidéo (.mov) et y ajoute des images au fur et à mesure de l'exécution du programme jusqu'à ce que le programme donne l'instruction de finaliser le fichier vidéo.

Cette fonction n'est cependant pas disponible sous GNU/Linux car la bibliothèque Video de Processing nécessite Quicktime qui n'est implémenté que sous Windows et Mac OS. L'alternative pour les utilisateurs GNU/Linux est d'utiliser la commande saveFrame() pour exporter une série d'images et créer une séquence vidéo à partir de celles-ci dans un logiciel de montage.

Utiliser le résultat dans une autre application

Une autre solution est d'utiliser une passerelle logicielle (comme Syphon sous Mac OSX ou gStreamer sous GNU/Linux) pour renvoyer le contenu de la fenêtre de rendu de Processing (ou d'un autre de ces logiciels de code créatif) comme source dans un autre logiciel dans lequel on effectue l'enregistrement, ou dans lequel on exploite directement l'image live (pour plus de détails à ce sujet, voir le chapitre Flux vidéo en réseau et inter-applicatifs).

Utiliser des Shaders pour générer des images

exemple de shader _ source : wiki.labomedia.org/index.php/Pure_Data_vs_OpenGL

Les shaders* sont de petits programmes permettant de créer des objets virtuels 2D/3D de transformer l'absorption et la diffusion de la lumière, la texture, les réflexions et réfractions, l'ombrage, le déplacement de primitives, tout cela en utilisant des instructions OpenGL.

Ils tirent parti de la puissance de calcul des cartes graphiques puisque ces codes seront d'abord compilés puis exécutés directement sur le processeur de la carte graphique appelé GPU.

Il est également possible de glaner des shaders libres de droits sur le web et de les transformer. Ces programmes sont généralement courts, se résumant souvent à quelques lignes de code, mais sont capables de produire des visuels complexes.

En raison des divers intervenants industriels et de la forte évolution du secteur, différents langages de shader ont été développés, dont le ARB, le GLSL, le Cg et le HLSL. Les shaders sont notamment supportés par Pure Data / Gem, ainsi que par Blender, à travers le langage GLSL.

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.