Ce petit cours vous permettra d'apprender le domaine très spécifique de la 3D.
Cette technique repose sur le problème des rafraichissements des moniteurs. En effet lors de l'affichage d'une scène à l'écran il ne faut pas dessiner pendant que celle-ci est en train de s'afficher. On dessine donc la scène dans un buffer et une fois fini, ont dit à la machine d'afficher ce buffer. Cela permet d'éviter les effets de scintillement.
L'antialiasing est une technique qui permet de réduire l'apparence des effets d'escalier lors de tracer de ligne à l'écran qui ne sont pas horizontal ou vertical. En trois dimmension cette effet devient rapidement désagréable lors de polygones voisins n'étant pas de la même couleur. L'antialiasing donne donc un effet de 'leger flou' (effet dit de blurring) sur les pixels en bordure d'un objet, permettant ainsi de produire une scène 3D plus naturelle.
Le bump est une forme spéciale d'environnement spéculaire ou diffus, permettant de simuler les reflexions d'objet sans demander l'augmentation du nombre de polygone (gourmant en temps de calcul). Cela nécessite une texture à niveau (généralement niveau de gris) décrivant la hauteur du bump.
Cette technique permet de simuler fidèlement la réflexion sur une surface sans utiliser le lancer de rayon. En pratique l'environnement mapping est l'application d'une texture représentant la scène autour de l'objet. Le résultat approxime l'apparence de la surface reflective assez pour que l'oeil n'y voit que du feu tout en gagnant du temps de calcul (comparé au lancer de rayon).
Le stencil buffer permet de définir un masque de contrôle pour l'affichage de rendu d'une surface. Le contrôle se fait au niveau du pixel et permet de faire des effets tels que la dissolution, le décalage ou encore des silhouettes. L'exemple le plus frappant de cette technique étant le rétroviseur dans les jeux de voiture. Le masque gérant l'effet de transparence plus ou moins élevé dans l'image de l'intérieur de la voiture.
Le Z-Buffer a été développé par Catmul en 1974. C'est l'algorithme le plus simple pour dessiner une scène tridimensionnelle contenant des faces cachées. Son implémentation est très simple, et consiste à avoir en plus du buffer image (endroit où l'on dessine notre scène) un buffer du profondeur, appelé Z-Buffer. Ce tableau doit être exactement de la même taille que l'espace image, et va contenir pour chaque pixel la valeur Z associée.
Concrètement, si l'on dessine le pixel de coordonnées (x,y,z), dans notre espace image le pixel (x',y') sera allumé et la valeur z sera stockée dans le Z-Buffer au même emplacement. La plus grosse valeur Z qui sera autorisée à être stockée sera ainsi la valeur du clipping en profondeur. Au commencement, note Z-Buffer est entièrement initialisé à 0.
Lors du processus de remplissage d'un polygone, si le point (x,y) à dessiner est plus près de l'observateur que le point précédent, alors on stocke ce point dans l'espace image, sinon on passe au pixel suivant.
Il s'agit sans aucun doute du modèle d'illumination le plus simple qui soit. Le principe consiste à placer dans la scène une source lumineuse située à l'infini, et éclairant ainsi uniformément chaque point d'une facette. Ainsi, chacune des faces composant l'objet sera dessinée avec une couleur unique. Ce modèle est donc très simple à mettre en oeuvre et extrêmement rapide.
Ce modèle, complètement empirique, s'appuie sur une interpolation de la couleur. Le principe est le suivant :
La première étape peut vous choquer : votre esprit pertinent vous à certainement déjà dit : "la normale d'un sommet ? Ça va pas non, ça existe pas !". Il ne s'agit pas d'une véritable normale, mais seulement d'une approximation. Pour calculer un tel vecteur, pas de panique, la méthode utilisée est la plus simple que l'on puisse trouver et ne demande aucune justification mathématique. Pour obtenir la normale d'un sommet, on va simplement faire la moyenne de toutes les normales des facettes qui contiennent ce sommet.
Ce modèle a été très largement exploré par les programmeurs du monde entier, car il permet d'obtenir des images de très bonne qualité. Il permet en outre de reproduire aussi bien des objets au comportement diffus que des objets spéculaires. En résumé, au lieu d'interpoler les couleurs comme Gouraud le fait, nous allons interpoler les normales. En utilisant une bonne fonction de calcul d'intensité lumineuse le résultat est vraiment très satisfaisant et réaliste.
Avec l'avènement des 3DFX et cartes qui calcule des millions de polygones par secondes, les calcules empiriques comme présenter ci-dessus sont maintenant révolues. Les cartes graphiques le font simplement par l'appel à une simple fonction. La majorité des programmes qui utilise la 3D le font par l'interface (API) openGL ou DirectX dévelloppé par silicon graphic/Microsoft il y a déjà un certains temps...
La modélisation d'objets 3D se fait par des logiciels spécialisés comme 3DstudioMax et consort...