Auteur : Arthur BIDET
Filière : Réseaux & Télécommunications
Matière : LO13 — Infographie 3D : théorie et application
Établissement : Université de Technologie de Troyes (UTT)
Ce projet a été développé dans le cadre de l’UE LO13 et vise à concevoir un visualiseur 3D interactif en C avec OpenGL et GLUT. Il permet de visualiser, manipuler et transformer des maillages 3D selon différents modes de rendu, d’éclairage et de projection.
- Initialisation complète de la scène graphique
- Définition du repère de vue, focalisation, et transformation géométrique
- Gestion des couleurs d'arrière-plan, de trait et de remplissage
- Choix entre projection orthogonale et perspective
- Zoom, translation et rotation dynamiques
- Ajout et configuration de la source lumineuse
- Support des ombres et des matériaux
- Projections, miroirs, symétries selon X, Y, Z
- Matrices de transformation homogènes (4x4)
- Mode "carreaux" et repères optionnels
- Mode d'affichage des lignes de diffusion
- Affichage d’aide interactif
.
├── src/ # Fichiers sources (.c)
├── include/ # Fichiers d'en-tête (.h)
├── obj/ # Objets compilés
├── main.c # Point d’entrée du programme
├── Makefile # Script de compilation
└── README.md # Documentation du projet
Modules principaux :
main.c: configuration de la fenêtreapp.c: initialisation globaleinput.c: gestion du clavier et de la sourislighting.c: configuration de la source lumineuse/matériauxopengl_state.c: gestion de l’état global OpenGLmath_utils: procédures d'opérations sur les vecteursmash.c: chargement du modèle et des paramètresopengl_state.c: structure openglrenderer.c: rendu visuel des objets et des optionstransform.c: transformations géométriques, logique d'affichage
- GCC (compilateur C)
- OpenGL
- GLUT (FreeGLUT ou autre)
make
./renderer <fichier.mesh>-
Affichage filaire
-
Affichage filaire avec traitement des parties cachées
-
Affichage filaire + uni
-
Ombrage uni
-
Ombrage uni + filaire
-
Ombrage uni sur les arrêtes
-
Ombrage de Phong
-
Ombrage de Phong + filaire
-
Ombrage de Phong sur les arrêtes
-
Repère
-
Plans et projections
-
Miroirs
-
Ombrage au sol
-
Affichage des carreaux du fichier mesh
-
Shrink
-
Lignes de diffusion
-
Courbure Gaussienne