Skip to content

Formule sur Forme

September 26, 2007

En guise d’entrainement à la programmation graphique (et plus spécifiquement aux shaders), je me suis remis à quelques test sur le GLSL, le langage de shader d’OpenGL. Le but du jeu était de plaquer une formule, plutôt simple sur une forme ‘classique’ de la géométrie dans l’espace.
La formule dujour est donc (tadada) :
formula_formulesurforme.png

Ici r représente la distance à l’origine (en espace local), a une variable contrôlant le nombre de ‘cycles’ de la formule et n une variable permettant de contrôler l’épaisseur du résultat. Le résultat le plus simple est obtenu en plaquant cette formule sur un plan :

Les résultats sont beaucoup plus intéressant avec d’autres formes comme dans les images suivante, avec, dans l’ordre, la sphère, la SuperSurface et la tore avec 2 paramètres d’épaisseurs différents :




Le shader fonctionne en testant pour chaque points à l’intérieur des triangles dessinés à l’écran si un de ses points est valide la condition donnée par l’équation. Le problème de cette approche est que les formes de départ (sphère, tore) sont échantillonnées et des artéfacts apparaissent si le nombre de triangle utilisé pour représenter ces formes est insuffisant, comme dans le cas de la tore ci dessous :


Advertisements

From → Formule

3 Comments
  1. J’adore ^^
    Pourquoi t’as toujours des idées tordus !!!

    Je suis sûr qu’on a un ancêtre commun ^

  2. wep mais j’ai moins recup de procrastination que toi jpense :p

  3. Uhhhmmmm……
    ENFOIRE :p
    Moi je procrastine plus vu que j’en suis conscient je l’évite en ne prévoyant RIEN !
    MOUHAHAHAHA je suis génial :p

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: