digitart-asso.

Shaders GLSL : l'art génératif en temps réel de Marc

Technologies Créatives. Shaders GLSL : l'art génératif en temps réel de Marc

Les institutions culturelles adorent promettre une révolution lorsqu’un écran remplace une toile. Elles parlent d’immersion, d’intelligence collective et de nouvelles écritures visuelles.

Shaders GLSL: l’art génératif en temps réel de Marc

Puis elles installent une projection vidéo en boucle dans une salle noire, vendent un billet majoré et présentent le tout comme une expérience participative. Le paradoxe est connu: plus l’œuvre est techniquement complexe, plus son discours public devient vague.

Le code GLSL permet pourtant de regarder l’art numérique autrement. Ici, pas de modèle 3D importé, pas de texture achetée dans une banque d’images, pas nécessairement de moteur lourd dissimulé derrière une interface spectaculaire. Un programme calcule la couleur de chaque pixel, en temps réel, directement sur le processeur graphique. La forme n’est plus un objet préparé à l’avance: elle devient le résultat visible d’une suite d’instructions, de fonctions mathématiques et de variables qui évoluent.

C’est dans cette zone que s’inscrit la pratique attribuée à Marc: non pas comme une démonstration de virtuosité technologique à admirer béatement, mais comme un cas révélateur de ce que le code créatif peut déplacer dans l’art génératif. Que reste-t-il de l’auteur lorsque l’image n’est jamais exactement la même? Qui possède une œuvre dont la matière est une formule? Et pourquoi les institutions célèbrent-elles l’innovation tout en continuant à rémunérer principalement l’objet fini?

Le GPU ne « diffuse » pas une image: il la calcule

Dans le rendu traditionnel, l’image est souvent construite à partir d’éléments identifiables: maillages 3D, matériaux, lumières, textures, caméras. Un logiciel assemble ces composants et produit une image. La chaîne de fabrication peut être sophistiquée, mais elle repose sur une logique familière: on modélise quelque chose, puis on le rend visible.

L’art des shaders GLSL fonctionne selon une économie différente. Dans une approche pure, la scène peut être générée à partir de deux triangles formant un simple rectangle sur l’écran. Ce rectangle ne représente ni une sculpture, ni un décor, ni un personnage. Il sert de canevas. Le programme s’exécute ensuite sur les fragments — autrement dit, sur les zones de pixels à colorer — et détermine la teinte, la luminosité et l’opacité de chacun.

Un fragment shader est donc un programme écrit en GLSL, un langage proche du C, exécuté en parallèle sur le GPU. Son rôle est précis: calculer l’apparence de chaque pixel affiché. Cette définition paraît froide, presque comptable. Elle décrit pourtant un basculement esthétique majeur. Dans ce système, la matière visuelle n’est pas stockée dans une image: elle est produite au moment même où elle est regardée.

La différence n’est pas qu’une affaire de performance. Elle transforme la relation entre l’artiste et l’œuvre. Dans une image fixe, le geste aboutit à un fichier ou à une impression. Dans un shader, le geste peut consister à organiser des relations: une distance, une rotation, un bruit, une vitesse, une répétition. L’artiste ne dessine pas nécessairement une forme; il définit les conditions dans lesquelles une forme apparaît.

Le temps devient alors une donnée artistique à part entière. Le shader reçoit des variables d’entrée, appelées uniformes, parmi lesquelles peut figurer le temps. Celui-ci modifie progressivement les coordonnées, les couleurs, les volumes ou les mouvements. L’animation n’est pas une série d’images montées les unes après les autres: elle est le déploiement continu d’une fonction.

Dans un shader, l’image n’est pas un stock. C’est une opération qui recommence à chaque pixel, à chaque instant.

Cette logique rend les discours promotionnels sur la « création instantanée » particulièrement suspects. Le calcul est immédiat, certes. Mais la conception du système peut demander des heures de réglages, de simplifications et de corrections. Le code ne supprime pas le travail: il le déplace, souvent hors du champ visible et hors des budgets de production.

L’anatomie d’un fragment shader: du pixel à la forme

Pour comprendre ce que produit le code GLSL dans l’art génératif en temps réel, il faut abandonner un instant le vocabulaire de la sculpture numérique. Un shader ne commence pas par une forme complète. Il commence par des coordonnées.

Chaque pixel peut être décrit par sa position sur le canevas. Le programme transforme ces coordonnées, les centre, les étire ou les fait tourner. Il peut ensuite leur appliquer des fonctions mathématiques afin de produire des motifs, des dégradés, des lignes ou des volumes apparents.

Cette méthode donne souvent des résultats visuels complexes à partir d’un nombre limité d’opérations. Une même fonction peut être répétée, combinée à une autre ou modifiée par le temps. Un cercle peut devenir une onde, une onde peut devenir une surface, une surface peut être déformée par une rotation ou une perturbation pseudo-aléatoire.

La puissance du procédé tient à l’exécution parallèle. Le GPU dispose de milliers de cœurs capables de traiter simultanément des opérations similaires. Là où un processeur central avance généralement dans une suite d’instructions plus séquentielle, le processeur graphique excelle dans le calcul massif de fragments. Pour un artiste, cela signifie qu’une scène peut être recalculée en direct à chaque rafraîchissement de l’écran.

Le vocabulaire technique peut donner l’impression d’un territoire réservé aux ingénieurs. C’est une autre fiction commode. La programmation shader demande une réelle maîtrise, mais elle ne se réduit pas à l’optimisation informatique. Les choix de coordonnées, de répétition, de contraste et de vitesse relèvent aussi de la composition.

Un shader peut agir sur plusieurs dimensions visuelles:

  • La géométrie apparente, en donnant l’illusion de volumes, de cavités ou de surfaces courbes sans importer de modèle 3D.
  • La lumière, en simulant des directions, des ombres, des réflexions et des variations de luminosité.
  • La couleur, à travers des palettes calculées, des transitions continues ou des contrastes très contrôlés.
  • Le mouvement, en utilisant le temps comme variable pour produire des pulsations, des rotations, des expansions ou des effondrements.
  • La répétition, qui permet de générer des structures proches du motif, du réseau ou de l’architecture.
  • La distorsion, qui fait basculer une image géométrique vers une matière plus organique et instable.

Dans une pratique comme celle de Marc, le point intéressant n’est donc pas de savoir si le code « remplace » le dessin. Il ne le remplace pas. Il impose une autre grammaire. Le dessin fixe une relation entre une surface et une forme. Le shader organise une relation entre des coordonnées, des fonctions et des paramètres. L’un n’est pas plus noble que l’autre; ils ne distribuent simplement pas le contrôle de la même manière.

La difficulté artistique se situe précisément là. Plus le système est ouvert, plus il peut produire des résultats inattendus. Mais une variation n’est pas automatiquement une découverte. Un effet qui se déforme n’est pas nécessairement une œuvre. L’algorithme ne possède aucune capacité critique spontanée, malgré les brochures qui lui prêtent volontiers une autonomie créative. Il exécute. L’intention, elle, doit être construite.

Raymarching et fonctions de distance: sculpter sans modèle 3D

Le raymarching est l’une des techniques les plus fascinantes du shader art, et l’une des plus mal racontées. Les présentations institutionnelles parlent souvent de mondes virtuels, de sculpture lumineuse ou d’espaces immersifs. Elles oublient de préciser que ces espaces peuvent être calculés à partir de fonctions décrivant la distance entre un point et une forme.

Ces fonctions sont appelées Signed Distance Functions, ou fonctions de distance signées. Elles indiquent, de manière simplifiée, à quelle distance se trouve un point par rapport à une surface et de quel côté de cette surface il se situe. Une sphère, un tore, un plan ou une boîte peuvent ainsi être décrits mathématiquement, sans passer par un maillage traditionnel.

Le raymarching utilise ces informations pour avancer progressivement dans une scène virtuelle. Le programme lance un rayon depuis la caméra virtuelle et estime la distance restante avant de rencontrer une surface. Il progresse ensuite par étapes, en adaptant sa marche à cette distance. Quand le rayon approche suffisamment d’une forme, le shader peut calculer la lumière, les ombres et les propriétés visuelles de la surface.

La technique autorise des compositions 3D très élaborées dans un fragment shader. Elle permet de combiner des formes, de les répéter, de les déformer et de les faire interagir. Une opération mathématique peut réunir deux volumes; une autre peut creuser un espace; une troisième peut créer une transition douce entre deux géométries.

Ce langage offre une sorte de sculpture sans matière. Il n’y a ni argile, ni polygones, ni objet que l’on pourrait saisir dans une interface. Il y a une fonction, une relation de distance et un calcul répété pour chaque pixel. La forme est moins un objet qu’une conséquence.

Ce que les fonctions de distance changent dans la pratique

Le raymarching ne donne pas seulement accès à des effets spectaculaires. Il modifie la manière de penser la construction visuelle.

1. La forme devient paramétrique.

Modifier le rayon d’une sphère, la largeur d’un tunnel ou la fréquence d’une répétition ne demande pas de remodeler un objet. Il suffit d’agir sur une valeur ou une relation mathématique.

2. La transformation est réversible.

Une forme n’est pas détruite lorsqu’elle est déformée. Le système conserve les règles qui permettent de la recalculer. L’artiste travaille donc davantage sur un espace de possibilités que sur une succession de versions définitives.

3. La complexité naît de combinaisons simples.

Des fonctions élémentaires peuvent produire des environnements visuels denses, à condition d’être combinées avec précision. Ce n’est pas la quantité de code qui garantit la richesse d’un résultat, mais la qualité des relations entre les opérations.

4. La performance devient une contrainte esthétique.

Chaque calcul doit être exécuté en temps réel. Une scène trop coûteuse ralentit, saccade ou cesse de répondre. L’optimisation n’est pas seulement une question technique: elle influence le rythme, la densité et parfois même le style de l’œuvre.

5. L’aléatoire doit être domestiqué.

Le bruit et les variations pseudo-aléatoires peuvent produire une impression de vivant. Sans cadre, ils fabriquent surtout une agitation décorative. Le hasard n’est une méthode que lorsqu’il est limité par une structure.

C’est ici que la rhétorique de la nouveauté doit être ramenée à sa juste mesure. Le raymarching n’est pas une machine à produire du sens. C’est un outil de construction visuelle puissant, avec ses règles, ses coûts et ses limites. La fascination pour la technique devient stérile dès qu’elle dispense de regarder ce qui est effectivement composé à l’écran.

L’esthétique algorithmique n’est pas l’esthétique de la performance

L’art algorithmique GLSL est souvent associé à des images fluides, abstraites et hypnotiques. La surface se plisse, les volumes se dissolvent, des couleurs acides traversent une architecture impossible. Cette esthétique existe, mais elle ne définit pas à elle seule la pratique.

Le risque, pour les artistes comme pour les institutions, consiste à confondre la performance du système avec la qualité de l’œuvre. Un rendu en temps réel, calculé sur le GPU, paraît nécessairement plus contemporain qu’une image fixe. Une animation générée à partir de formules semble plus intelligente qu’une composition dessinée à la main. Cette hiérarchie est absurde.

Le code créatif tire sa force de la tension entre règle et imprévu. L’artiste formule un système, mais le résultat peut évoluer selon le temps, les données d’entrée ou les interactions du public. La création ne se situe ni entièrement dans le code ni entièrement dans l’image finale. Elle se trouve dans l’architecture des possibilités.

Cette distinction devient essentielle lorsqu’une œuvre est exposée. Le musée ou le festival peut présenter une image comme si elle était l’œuvre complète, alors que le programme, les paramètres, le dispositif d’affichage et la durée d’exécution participent tous au résultat. Une projection sur un mur, un écran haute fréquence ou une installation interactive ne produisent pas la même expérience.

La question économique apparaît rapidement. Qui finance le développement du shader? Qui rémunère les phases de recherche, les tests de compatibilité et l’adaptation à un matériel spécifique? Que devient l’œuvre lorsque l’écran ou la carte graphique n’existe plus? Et pourquoi les budgets de médiation décrivent-ils longuement l’innovation, mais rarement le temps de programmation nécessaire pour qu’elle fonctionne sans s’effondrer au premier changement de résolution?

Le temps réel ne rend pas l’art plus libre. Il rend visibles les choix techniques que les institutions préfèrent souvent présenter comme de la magie.

Une œuvre fondée sur un shader peut être légère en ressources de stockage et lourde en calcul. Une image générée à la volée n’occupe pas nécessairement beaucoup d’espace disque, mais elle exige une machine capable de recalculer chaque fragment en continu. Ce décalage nourrit une nouvelle forme de greenwashing culturel: on vante la dématérialisation, sans interroger la consommation énergétique du rendu permanent, des écrans et des infrastructures qui le soutiennent.

Il ne s’agit pas de condamner le temps réel par principe. Il s’agit de refuser son exemption critique. Une œuvre numérique n’est pas vertueuse parce qu’elle n’a pas de châssis, pas de pigment ou pas de réserve muséale. Elle possède d’autres dépendances: matériel, alimentation électrique, systèmes d’exploitation, pilotes graphiques et compétences de maintenance.

De Shadertoy à l’installation: un écosystème entre partage et rente

La pratique des shaders s’est développée dans un écosystème où l’expérimentation circule rapidement. Des plateformes comme Shadertoy permettent de développer, tester et partager des programmes GLSL interactifs directement dans un navigateur. Des logiciels comme KodeLife ou TouchDesigner servent à explorer des dispositifs plus complexes, à relier le shader à des données, à des capteurs, à du son ou à une installation scénique.

Cette circulation a une conséquence ambivalente. Elle réduit le coût d’entrée: il est possible d’observer des techniques, de comparer des approches et de comprendre comment une image est produite. Mais elle rend aussi plus difficile la distinction entre inspiration, apprentissage et appropriation. Le code est copiable, modifiable, recomposable. La frontière entre référence et extraction devient parfois aussi fine qu’une ligne de fonction.

L’écosystème fonctionne donc sur une asymétrie familière du numérique. Les artistes partagent leurs méthodes, tandis que les plateformes captent l’attention, les données d’usage et la visibilité. Le discours sur la communauté masque parfois une économie de plateforme bien traditionnelle: beaucoup contribuent, quelques-uns organisent la circulation et monétisent l’écosystème.

Pour un artiste, publier un shader peut être une manière de documenter une recherche, de rendre son travail lisible ou de construire une réputation. Mais la mise à disposition du code n’équivaut pas à une rémunération. Le partage peut devenir une stratégie de visibilité imposée, surtout lorsque les appels à projets demandent simultanément innovation, accessibilité, interactivité et présence en ligne — sans augmenter les budgets.

Du prototype à l’œuvre exposée

Le passage d’un shader expérimental à une installation artistique implique plusieurs décisions qui restent souvent invisibles pour le public:

  • La résolution de rendu détermine la précision des formes et la charge de calcul.
  • Le matériel graphique fixe le nombre d’opérations possibles avant l’apparition de ralentissements.
  • Le format d’affichage modifie les proportions, les coordonnées et la perception des volumes.
  • La fréquence d’actualisation agit directement sur la fluidité du mouvement.
  • Le système de contrôle peut intégrer le temps, le son, la présence du public ou des données extérieures.
  • La maintenance devient indispensable dès que l’œuvre dépend d’un ordinateur, d’un logiciel ou d’un pilote particulier.
  • La documentation doit permettre de relancer le programme lorsque l’équipe qui l’a installé n’est plus disponible.

La dernière ligne est la plus politique. Une œuvre qui ne peut être réactivée que par son créateur ou par un technicien très spécialisé risque de devenir une rente de maintenance. Le musée dépend alors d’un savoir tacite qu’il n’a pas toujours financé ni archivé correctement. La promesse d’une œuvre immatérielle débouche sur une dépendance très matérielle à quelques personnes.

Dans ce contexte, la figure de Marc importe moins comme personnage documenté que comme point d’entrée vers une pratique. Rien ne permet ici d’inventer une biographie, un catalogue ou une intention personnelle précise. En revanche, le langage des shaders permet d’observer une transformation concrète du travail artistique: le geste se déplace vers la conception d’un système, et la valeur de l’œuvre dépend de la manière dont ce système est rendu visible, transmissible et rémunéré.

Vers une pratique algorithmique réellement critique

Le shader art peut produire une esthétique reconnaissable: formes lisses, tunnels lumineux, paysages impossibles et matière en perpétuelle mutation. Cette esthétique est désormais suffisamment installée pour devenir un style de marché. On peut la décliner, l’emballer, l’intégrer à une exposition immersive et la vendre comme la preuve que l’institution a compris le futur.

Mais l’art génératif en temps réel n’a pas besoin de se contenter de cette fonction décorative. Le code GLSL peut rendre perceptibles des phénomènes difficiles à représenter autrement: accumulation, instabilité, propagation, seuil, répétition ou dépendance à une donnée extérieure. Il peut montrer non pas seulement une belle forme en mouvement, mais un système qui révèle ses propres contraintes.

La question est alors celle de la lisibilité. Une œuvre n’a pas besoin d’expliquer chaque ligne de code pour être accessible. Elle peut toutefois donner à comprendre qu’elle n’est pas une vidéo miraculeusement apparue sur un écran. Elle peut exposer ses paramètres, montrer ses variations, documenter ses conditions d’exécution ou laisser apparaître les limites du calcul.

Cette transparence ne signifie pas livrer une notice technique interminable au visiteur. Elle consiste à ne pas faire passer une architecture logicielle pour une inspiration pure. L’œuvre peut rester sensible, ambiguë et même obscure, sans être entourée d’un brouillard promotionnel sur l’intelligence artificielle ou la magie des algorithmes.

Une pratique critique du shader pourrait ainsi s’appuyer sur plusieurs refus:

  • Refuser l’idée qu’une image générée soit automatiquement plus innovante qu’une image composée autrement.
  • Refuser de confondre complexité mathématique et profondeur artistique.
  • Refuser la gratuité du code lorsque sa circulation sert principalement la visibilité d’une plateforme.
  • Refuser de réduire la maintenance à un détail technique sans conséquence esthétique ou économique.
  • Refuser le greenwashing qui présente le numérique comme immatériel et donc innocent.
  • Refuser enfin que l’interactivité serve uniquement à prolonger le temps de présence du visiteur et à justifier une billetterie plus chère.

Le véritable enjeu n’est pas de savoir si le GPU peut générer des images surprenantes. Il le peut depuis longtemps. L’enjeu est de comprendre ce que l’artiste choisit de faire de cette capacité. Une fonction de distance peut produire une architecture virtuelle; elle peut aussi matérialiser une idée de seuil ou d’érosion. Une variable temporelle peut animer une surface; elle peut aussi rendre visible la dégradation progressive d’un système. La technique ne fournit pas la position critique. Elle fournit les moyens de la formuler.

Ce que le shader révèle de l’auteur

Dans un dispositif fondé sur le code, l’auteur ne disparaît pas. Il change de place. Il n’est plus seulement celui qui produit une forme, mais celui qui définit les relations dans lesquelles des formes pourront apparaître.

Cette position est moins romantique qu’on voudrait le croire. Elle implique des arbitrages permanents: quelle liberté laisser au système? Jusqu’où autoriser le hasard? Quelle stabilité préserver? Quelle part du résultat accepter comme imprévisible? Une œuvre algorithmique ne supprime pas la décision; elle multiplie les endroits où celle-ci doit être prise.

Le travail peut même devenir plus difficile à identifier. Le public voit une animation, mais pas les fonctions qui la structurent. Il voit une fluidité, mais pas le compromis entre qualité visuelle et coût de calcul. Il voit une scène qui semble sans limites, mais pas le rectangle composé de deux triangles sur lequel le programme s’exécute. Cette invisibilité est inhérente au médium, mais elle peut aussi être exploitée par le marketing culturel.

Le code GLSL dans l’art génératif en temps réel mérite mieux que cette mise en scène de la prouesse. Il mérite qu’on regarde ses conditions de production, ses économies de partage et ses dépendances matérielles. Il mérite aussi qu’on reconnaisse sa puissance formelle sans lui attribuer une conscience qu’il n’a pas.

La pratique de Marc, dès lors, ne doit pas être enfermée dans le récit commode de l’artiste qui ferait surgir des mondes à partir de quelques lignes de code. Ce récit est vendeur, mais il reproduit le vieux mythe de l’auteur solitaire, simplement repeint aux couleurs du GPU. Ce que le shader montre réellement est plus intéressant: une œuvre peut être une règle, un calcul, une suite de décisions et une négociation constante entre contrôle et imprévu.

Le raymarching ne sculpte pas de matière; il sculpte des distances. Le fragment shader ne peint pas chaque pixel; il en calcule la possibilité. Et l’institution qui expose ces images ne devrait pas seulement vendre leur éclat: elle devrait assumer le travail, les coûts et les rapports de pouvoir qu’elles rendent visibles. Sinon, derrière la révolution algorithmique, ne restera-t-il pas simplement une nouvelle rente esthétique, projetée sur deux triangles et facturée au prix fort?

Questions fréquentes

Qu’est-ce qu’un fragment shader GLSL ?
C’est un programme écrit en GLSL et exécuté en parallèle sur le GPU pour calculer l’apparence de chaque pixel affiché, notamment sa teinte, sa luminosité et son opacité.
Comment le raymarching crée-t-il des formes sans modèle 3D ?
Le raymarching utilise des fonctions de distance signées qui décrivent la distance entre un point et une surface. Il avance progressivement dans la scène depuis une caméra virtuelle afin de repérer les formes et d’en calculer l’apparence.
Pourquoi le temps est-il important dans un shader ?
Le temps peut être utilisé comme variable d’entrée pour modifier progressivement les coordonnées, les couleurs, les volumes ou les mouvements. L’animation devient ainsi le déploiement continu d’une fonction plutôt qu’une succession d’images montées.
Le code GLSL remplace-t-il le dessin dans l’art génératif ?
Non. Il impose une autre grammaire, fondée sur les relations entre coordonnées, fonctions et paramètres, tandis que le dessin fixe directement une relation entre une surface et une forme.
Quelles contraintes techniques posent les œuvres en shader ?
La résolution, le matériel graphique, le format d’affichage et la fréquence d’actualisation influencent la précision, la charge de calcul et la fluidité. La maintenance et la documentation sont également nécessaires lorsque l’œuvre dépend d’un ordinateur, d’un logiciel ou d’un pilote particulier.