Par
Grégory CAZANAVE (cazanave@essi.fr)
Jérôme LAPORTE (laporte@essi.fr)

 

Plan :

  1. Présentation
  2. Mode d'emploi
  3. Visu
  4. Téléchargement

 


Présentation

Visu est un moteur 3D que nous avons développé lors des cours de synthèse d'images (encadré par Michel Buffa).
Ce programme nous a permis d'étudier le fonctionnement de la visualisation 3D (Projection, Boule virtuelle, Eclairage, ZBuffer, Texture, Clipping, ...). Pour ce faire, nous avons implémenté le programme en C, et nous nous sommes aidé de la librairie Xforms pour dessiner l'interface graphique.

[Retour au Plan]

Mode d'emploi

Usage: visu -obj file.obj [-cam file.obj] [-tex file.rgb] [-bw]
Voici la liste des touches pour pouvoir utiliser Visu

Touches Correspondances Descriptions
q Quitter Quitte le programme
v Visualisation
  • Points
  • Fil de Fer
  • Faces Pleines
  • Texture
Permet de changer le mode de visualisation de l'objet.
Le mode Points affiche les sommets
Le mode Fil de Fer affiche les arêtes
Le mode Faces Pleines affiche les faces
Le mode Texture plaque une texture
a Algorithmes
  • Peintre
  • ZBuffer
Permet de changer l'algorithme de calcul.
Le mode Peintre affiche les faces les plus éloignées d'abord
Le mode ZBuffer affiche pixel par pixel la couleur la plus proche
e Eclairage
  • Eclairage à 2 Francs
  • Eclairage Complet
  • Gouraud
  • Phong
Permet de changer le mode d'éclairage.
Le mode 2 Francs utilise un éclairage qui ne prend en compte que l'orientation de la face par rapport à la caméra
Le mode Complet utilise une lampe (avec les équations de Phong Ia,Id et Is)
Le mode Gouraud utilise l'algorithme de lissage de Gouraud
Le mode Phong utilise l'algorithme de lissage de Phong
b Bounding Box Option Bounding Box ON/OFF
t Tramage Option Tramage des couleurs ON/OFF
x Ximages Option Ximages ON/OFF
l Sélection Objet/Lumière Permet d'appliquer les transformations à l'objet ou à la lumière
f Transformation en mode Fil de Fer Permet de faire les rotations, translations,... en mode Fil de Fer
m Texture Mapping
  • Mapping Cubique
  • Mapping Cylindrique
  • Mapping Sphérique
Permet de changer le style de mapping.
(Cubique, Cylindrique, Sphérique)
Sur l'interface, on peut, en plus :
- Changer la couleur de l'objet (R,G,B)
- Changer les caractéristiques de l'objet (Ka, Kd, Ks, m)
- Charger des nouveaux Objets
- Charger de nouvelles Textures
- Appliquer des Effets
c Correction de perspective des Textures Permet de corriger l'effet de perspective

 

[Retour au Plan]

Visu

Pour voir les images en résolution 512x512, cliquez dessus!!!

- Visualisation

Les différents types de visualisations sont les suivants :
Points : On n'affiche que les sommets de l'objet
Fil de Fer : On n'affiche que les arêtes de l'objet
Faces Pleines : On affiche les faces de l'objet
Texture : On applique une texture sur l'objet

Points Fil de Fer Faces Pleines Texture

- Algorithmes

Il existe plusieurs algorithmes pour afficher les objets :
Algorithme du Peintre : Le but de cet algorithme est de dessiner d'abord les faces les plus éloignée, et de redessiner par-dessus les faces les plus proches (Comme un peintre qui repasserait par-dessus ce qu'il a dessiner en premier).
Algorithme ZBuffer : Dans cet algorithme, on conserve la distance en z des pixels déjà dessinés et pour savoir si on doit dessiner le pixel qu'on considère , on regarde s'il est plus proche que celui déjà dessiné à cette place.
Cet algorithme permet de mieux gérer les intersections entre faces.

Algorithme du Peintre ZBuffer Algorithme du Peintre
Intersection de 2 faces
ZBuffer
Intersection de 2 faces

- Eclairages

Les différents types d'éclairages sont les suivants :
Eclairage à deux francs : Tout se passe comme s'il y avait une lampe sur la caméra.
Eclairage Complet Sans Lissage : Eclairage par une lampe calculée grâce aux équations de Phong (Ia : lumière ambiante, Id : lumière diffuse, Is : lumière spéculaire). On calcule l'intensité facette par facette.
Eclairage Complet avec Lissage de Gouraud : L'éclairage est toujours calculé de la même façon. On le calcule maintenant pour chaque sommet, et on l'interpole au centre de la face.
Eclairage Complet avec Lissage de Phong : L'éclairage est toujours calculé de la même façon. On le calcule maintenant pour chaque pixel, en interpolant la normale au centre de la face. Ce rendu, est donc plus réaliste.

Eclairage à deux francs Eclairage Complet
Sans Lissage
Eclairage Complet
Avec Lissage de Gouraud
Eclairage Complet
Avec Lissage de Phong

- Textures

Les différents types de mapping sont les suivants :
Mapping Cubique : Pour ce type de mapping, on projette l'image sur l'un des cotés de l'objet.
Mapping Cylindrique : Ici, tout se passe comme si on enroulait l'image autour d'un cylindre.
Mapping Sphérique : Ici, tout se passe comme si on enroulait l'image autour d'une sphère

Mapping Cubique Mapping Cylindrique Mapping Sphérique

La correction de perspective :
Permet de corriger l'effet de perspective sur le plaquage des textures.

Mapping Cubique
Sans Correction de Perspective
Mapping Cubique
Avec Correction de Perspective

- Effets

Explosion : (Bouton Droit)
Cela consiste à déplacer les sommets le long de leurs normales.

Explosion

Effet de Rendu :
Effet drôle ...

Rendu

[Retour au Plan]

Téléchargement

Le Programme

les Sources
l'Exécutable

Les objets

Visualiser les Objets
Télécharger les Objets

Les Textures

Visualiser les Textures
Télécharger les Textures

[Retour au Plan]

Crée par Grégory CAZANAVE & Jérôme LAPORTE - Juin 1999
Dernière modification : Juin 1999