Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF1483  Gr. 01
Titre : Programmation graphique 2D/3D
Session : Hiver 2013  Horaire et local
Professeur : Cretu, Ana-Maria
1. Description du cours paraissant à l'annuaire :

Objectifs

Permettre à l'étudiant de maîtriser par la pratique la programmation graphique, les techniques d'animation et la synthèse d'images 2D/3D.

Contenu

Espace bidimensionnel/tridimensionnel et coordonnées. Interaction graphique et appareils logiques d'entrée-sortie. Transformations géométriques et projections : translation, rotation, homothétie, etc. Courbes et surfaces. Effets d'optique: modèle simple de la lumière. Textures et ombrages. Rendu de volume. Programmation d'applications 2D/3D et utilisation de librairies graphique (ex. OpenGL, DirectX, etc.). Implantation de la caméra virtuelle. Algorithmes de synthèse d’images 2D/3D. Ce cours comporte des séances obligatoires de travaux dirigés (TD) de deux heures par semaine.
2. Objectifs spécifiques du cours :
À la fin de ce cours, l’étudiant(e) connaîtra:
  • les principes de base de l'infographie;
  • les principes d'utilisation des APIs pour l'infographie (cas OpenGL).
  • les transformations géométriques 2D/3D;
  • les techniques de rendu d'objets 2D/3D;
  • les principes d'illumination et d'ombrage en OpenGL;
3. Stratégies pédagogiques :
Les formules pédagogiques suivantes seront utilisées:
  • Cours magistraux
  • Séances d'exercices
  • Projet en équipe
4. Heures de disponibilité ou modalités pour rendez-vous :
Sur demande. Bureau: B-2034, Email: ana-maria.cretu@uqo.ca
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Introduction à l'infographie
  • Concepts de base de l'infographie. Applications.
  • Le système graphique. Dispositifs d'entrée et sortie.
  • Interfaces de programmation. Pipeline graphique.
08 jan. 2013 
2   

Travaux dirigés : le 14 janvier 2013 - Introduction à l'infographie.

Introduction à OpenGL
  • Outils de programmation graphique.
  • Introduction à OpenGL: Fonctions graphiques. Librairies. Syntaxe. Machine d'états. Projection orthographique. Coordonnées. Primitives géométriques. Projection de perspective.
15 jan. 2013 
3   

Travaux dirigés : le 21 janvier 2013 - Introduction à OpenGL.

Programmation de base en OpenGL
  • Tableaux de sommets. Listes d'affichage. Texte. Programmation des boutons de la souris et touches. Menus. Plans de découpage. La fenêtre d'observation. Multifenêtrage. Traitement d'erreurs.
22 jan. 2013 
4   

Travaux dirigés : le 28 janvier 2013 - Programmation de base en OpenGL.

Transformations. Animation. Visualisation
  • Transformations géométriques en 2D et 3D.
29 jan. 2013 
5   

Travaux dirigés : le 4 février 2013 - Transformations géométriques.

Transformations. Animation. Visualisation (2ème partie)
  • Modélisation des transformations en OpenGL. Transformations composées.
  • Placement des objets. Animation.
05 fév. 2013 
6   

Travaux dirigés : le 11 février 2013 - Modélisation des transformations. Animation.

Transformations. Animation. Visualisation (3ème partie)
  • Détection des collisions. Visualisation des transformations. Sélection des objets.
12 fév. 2013 
7   

Travaux dirigés : le 18 février 2013 - Animation (suite). Visualisation.

Animation avancée. Convexité. Interpolation. Rastérisation
  • Partition spatiale. Quadtrees. Implémentation. Animation de l'orientation.
  • Convexité. Interpolation.
  • Rastérisation. Traçage des lignes. Algorithmes.
19 fév. 2013 
8   

Travaux dirigés : le 25 février 2013 - Animation avancée. Convexité. Interpolation. Rastérisation.

Examen intra (1 heure 30 min.) Triangulation
  • Définition et qualité de triangulation. Problèmes avec la non-convexité. La subdivision (tessellation) en OpenGL.
26 fév. 2013 
9    Semaine d'études 05 mars 2013 
10   

Travaux dirigés : le 11 mars 2013 - Triangulation.

Orientation. Modélisation 3D
  • Détermination des surfaces visibles en OpenGL. Élimination des faces cachées. Transformation et orientation des primitives géométriques.
  • Courbes: Représentation. Sections coniques.
12 mars 2013 
11    Courbes et surfaces

Travaux dirigés : le 18 mars 2013 - Orientation. Modélisation 3D.

Modélisation 3D (suite). Couleur.
  • Surfaces: Polygones. Maillage. Surfaces planaires. Surfaces d'extrusion.
  • Quadriques. Fractals.
  • Modèles des couleurs.
19 mars 2013 
12   

Travaux dirigés : le 25 mars 2013 - Modélisation 3D.

Illumination et ombrage
  • Propriétés de surfaces et réflexion.
  • Modèle d'illumination de Phong. Illumination et matériaux en OpenGL. Sources lumineuses.
  • Normales. Techniques d'ombrage.
26 mars 2013 
13   

Travaux dirigés : annulé. Lundi de Pâques.

Texture. Effets visuels spéciaux.
  • Plaquage de texture. Coordonnées. Filtrage.
  • Anti-aliasing. Modélisation du brouillard. Cartographie de l'environnement. Cartographie par bosses (bump mapping).
02 avr. 2013 
14   

Travaux dirigés : le 8 avril 2013 - Illumination et ombrage. Texture. Effets visuels spéciaux.

Présentation de projets d'étudiants.
09 avr. 2013 
15    Examen final 16 avr. 2013 
6. Évaluation du cours :
L'évaluation est l'appréciation du niveau d'apprentissage atteint par l'étudiant(e) par rapport aux objectifs des cours et des programmes. Dans le cas spécifique du cours Programmation graphique 2D/3D l'attribution des notes se fera selon la répartition suivante :
  • Examen intra : 25%
  • Examen final : 35%
  • Travaux dirigés: 20%
  • Projet en équipe: 20%
    • Proposition de projet: titre, membres de l'équipe, sommaire (5 %) - À livrer le 29 janvier 2013 (sur Moodle).
    • Présentation, démonstration et rapport du projet, incluant le code exécutable (15 %) - À livrer le 9 avril 2013.

Une moyenne générale inférieure à 50% est éliminatoire et conduit automatiquement à l'échec de l’étudiant(e). Les travaux dirigés se feront individuellement. La pénalité de retard pour la remise d’un travail est de 2 points par jour (y compris les jours fériés et les fins de semaines).

7. Politiques départementales et institutionnelles :
8. Principales références :
Notes de cours
  • Des notes de cours détaillées seront fournies couvrant la matière du cours.
Autres références recommandées
  1. S. Guha. Computer Graphics through OpenGL: From Theory to Experiments, CRC Press, 2011.
  2. E. Angel, D. Shreiner, Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, 4ème edition, Addison-Wesley, 2011.
  3. D. Hearn, M.P. Baker, W.R. Carithers, Computer Graphics with OpenGL, 4ème edition, Prentice Hall, 2010.
  4. P. Shirley et al., Fundamentals of Computer Graphics, 3ème edition, A K Peters 2009.
  5. E. Angel, OpenGL. A Primer, Addison Wesley, 2008.
9. Page Web du cours :
https://moodle.uqo.ca