Shady #032

Le Shady du dimanche, c’est maintenant !

Pour la 3D, le code de rendu fondamental proposé habituellement (sur Shadertoy) est une boucle de raymarching, un algo qui permet de définir mathématiquement pas mal de formes et de volumes élémentaires. Comme Iq (…le créateur de Shadertoy, on en parlera bientôt) a déjà bien défriché la chose, l’utilisateur peut facilement importer les fonctions cube, sphere, etc, dans son shader dès le départ. Et après ça, zou !
Coder devient alors un genre de jeu de construction, une modélisation 3D un peu perchée. Du diorama à base de cylindres, de plans, de cônes, et d’opérations booléennes (addition, soustraction, intersection, etc). Le tout nappé d’une sauce de matrices et de vecteurs (translations, rotations, projections, + couleurs). Comme le lego ou Minecraft, avec des maths, quoi.
Pour illustrer la richesse et la sérendipité du processus, voici une petite anecdote…
Récemment, je bossais sur une scène 2D (du coup, même plus besoin de la boucle raymarching) et en moins de 5 minutes (et moitié par accident) je me suis retrouvé à réinventer 1) la transformation de Möbius (…à laquelle j’ai toujours rien compris !), 2) l’effet tunnel (classique des démos), et 3) une méthode simple pour produire des kaléidoscopes (…et ça franchement, c’est cool).
Je voulais juste afficher UN triangle ! Il s’est passé quoi, bon Dieu !? 😀

 

 

Bref, le shader du jour, Starwars Ship Thing, est un beau Star Destroyer en 3D modélisé par Alleycatsphinx (y’a plus simple comme nom) et il contient suffisamment de détails pour être convaincant. Il se manipule à la souris (bord gauche et bas de l’écran). On peut faire tourner le vaisseau et il y a même une fenêtre avec 4 aperçus. J’ai aussi prévu une musique d’accompagnement, si vous êtes d’humeur.

Bravo à l’auteur, donc. Et à la semaine prochaine !

 

 

Ce contenu a été publié dans Shady par JP. Mettez-le en favori avec son permalien.