Accueil Floss Manuals francophone

Puredata

GEM

La librairie graphique GEM est une extension externe très utilisée dans Pure Data pour manipuler des flux ou des fichiers vidéo, des images fixes ou des objets 3D. Au cours de cette brève introduction, nous aborderons ses principes ainsi que ses origines, pour appréhender ensuite différents aspects de son utilisation.

CaptureShader.png

Extrait d'un patch utilisant GEM pour réaliser une analyse de mouvement et en générer des notes MIDI, tout en appliquant un effet sur le flux de la caméra.

Généralités

GEM signifie « Environnement Graphique pour le Multimédia » (Graphic Environment for Multimedia). GEM n'est pas une application indépendante. C'est une librairie qui se charge au moment de l'ouverture de Pure Data à condition d'avoir préalablement installé et correctement configuré l'environnement. C'est un outil de création graphique en temps réel. Il permet avec facilité et simplicité de construire un programme pour gérer et générer des images fixes, des images en mouvements, des textes, des images graphiques en deux et en trois dimensions, ou encore de réaliser une analyse de mouvements ou de couleurs. Les utilisateurs peuvent ainsi combiner audio et visuels en contrôlant l'un et l'autre simultanément, et ainsi créer, par exemple, une relation forte entre l'élément sonore et l'élément visuel.

Dans Pd-extended, la librairie GEM est incluse par défaut et opérationnelle. Pour plus d'informations à ce sujet, voir la rubrique « Configuration: Chemins et Librairies » de ce manuel.

Origines

GEM a initialement été développée par Mark Danks. Certains des développeurs passés et présents sont : Iohannes Zmölnig, Chris Clepper, James Tittle (tigital) et Cyrille Henry.

GEM, une librarie qui s'appuie sur l'OpenGL

GEM est basé sur l'OpenGL (Open Graphics Library) cela implique que votre ordinateur dispose d'une carte graphique qui gère bien ce jeu d'instructions, exécuté directement par le processeur de la carte graphique. Il est ainsi utile de se renseigner avant l'achat d'un matériel dédié à cet usage. On peut aussi utiliser directement dans GEM des instructions tirées de l'OpenGL, ce qui étend ses possibilités de façon exponentielle.

L'OpenGL est une librairie professionnelle très utilisée pour les jeux vidéo et la 3D. En utilisant la librairie GEM dans Pure Data, on peut dessiner des formes géométriques 2D/3D sur une scène 3D vue à travers la fenêtre d'affichage. On peut faire tourner ou déplacer ces formes, changer leur couleur ou plaquer sur ces formes de la vidéo ou des images fixes sous forme de texture. On appelle ainsi « texture » les images qui viennent « recouvrir » ces formes géométriques dans un contexte de rendu OpenGL.

Pour dessiner des formes dans une fenêtre d'affichage, on doit placer des objets de la librairie GEM dans des chaînes où tous les objets sont connectés les uns aux autres. On les appelle des « chaînes GEM ». Tout en haut de ces chaînes, il y a toujours un objet [gemhead], et on trouve la forme à dessiner tout en bas. Entre les deux, on place les transformations que l'on veut appliquer sur la forme à dessiner.

Cette manière de procéder diffère quelque peu du principe habituel de « chute d'eau » propre à Pure Data. On peut donc lire les patchs réalisés avec GEM du bas vers le haut. L'objet [gemhead] est responsable des géométries, des textures et des transformations qu'il devra rendre, alors qu'il est au sommet de la chaîne. Pour rendre ce concept moins abstrait, il est important d’étudier les exemples proposés dans les autres chapitres de ce manuel consacrés à GEM.

Référence sur OpenGL

Pour aller plus loin sur OpenGL, vous pouvez notamment consulter l'ouvrage de référence suivant :

NEIDER J., WOO M., DAVIS T., SHREINER D. & CAMPULLO V. (trad.). (2006). « Guide officiel : Le guide officiel pour l'apprentissage et la maîtrise d'OpenGL 2.0 ».  Éditions CampusPress, Collection Référence, 788 p. ISBN : 978-2744020869