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 2018  Horaire et local
Professeur : Baddou, Djafer
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
  • Projets
4. Heures de disponibilité ou modalités pour rendez-vous :
Bureau :B-2022

Téléphone : 819-595-3900 poste 1601

Courriel : : Mohandsaid.allili@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 de l'infographie.
  • Les systèmes graphiques 2D/3D.
  • Pipeline graphique (modélisation, rendu, animation).

Travaux dirigés 01 : 15 janvier 2015

08 jan. 2018 
2    Introduction à OpenGL
  • Outils de programmation graphique.
  • Application Programmer Interface de OpenGL.
  • Introduction à OpenGL: fonctions graphiques, librairies, projections, coordonnées, primitives géométriques.

Travaux dirigés 02: 22 janvier 2015.

15 jan. 2018 
3    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.

Travaux dirigés 03: 29 janvier 2015

22 jan. 2018 
4    Transformations géométriques
  • Systèmes de coordonnées 2D/3D et notion de vecteurs.
  • Coordonnées homogènes.
  • Translation, rotation, changement d'échelle et cisaillement.
  • Matrices de transformation OpenGL.

Travaux dirigés 04 : 5 février 2015

29 jan. 2018 
5    Transformation de vision et projections
  • Caméra, placement des objets, vues.
  • Matrices de projections.
  • Projections : perspective, parallèle, orthographique.
  • Projections et vues avec OpenGL.

Travaux dirigés 05 : 12 février 2015

05 fév. 2018 
6    Représentation d'objets 3D
  • Polyèdres et surfaces quadriques.
  • Objets et collisions
  • Fonctions d'OpenGL pour les objets 3D.

Travaux dirigés 06 : 19 février 2015

12 fév. 2018 
7    Examen de mi-session 19 fév. 2018 
8    Semaine d'études 26 fév. 2018 
9   

Halftoning

  • Techniques de halftoning
  • Rendu de surface.
  • Méthode constante et méthode de Gouraud.

Travaux dirigés 07 : 12 mars 2015

05 mars 2018 
10    Illumination et ombrage
  • Modèle d'illumination locale.
  • Sources lumineuses : ponctuelle, directionnelle, surfacique.
  • Propriétés des surfaces et réflexions.
  • Modèle de réflexion de Phong.
  • Travaux dirigés 08 : 19 mars 2015

12 mars 2018 
11    Triangulation et maillage
  • Représentation d'objets 3D.
  • Surfaces: polygones, maillage.
  • Diagramme de Voronoï et triangularisation.
  • Enveloppe convexe.

Travaux dirigés 09 : 26 mars 2015

19 mars 2018 
12    Texture et effets visuels
  • Bump mapping
  • Plaquage linéaire de texture.
  • Plaquage planaire de texture.

Travaux dirigés 10 : 2 avril 2015.

26 mars 2018 
13    Animations et fonctions interactives
  • Modélisation d'objets.
  • Modélisations des animations.
  • Fonctions interactives d'OpenGL.
  • Effets spéciaux.

Travaux dirigés 11 : 9 avril 2015

02 avr. 2018 
14    Animations et fonctions interactives
  • Modélisation d'objets.
  • Modélisations des animations.
  • Fonctions interactives d'OpenGL.
  • Effets spéciaux.

Travaux dirigés 12 : 16 avril 2015

09 avr. 2018 
15    Examen final 16 avr. 2018 
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 : 35%
  • Examen final : 35%
  • Projets: 30%

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. D. Hearn, M.P. Baker, W.R. Carithers, Computer Graphics with OpenGL, 4e edition, Prentice Hall, 2010
  2. S. Guha. Computer Graphics through OpenGL: From Theory to Experiments, CRC Press, 2011.
  3. D. Shreiner, G. Sellers, J. Kessenich et B. Licea-Kane. OpenGL: programming guide. Addition-Wesley, 2013.
  4. E. Angel, D. Shreiner, Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, 4ème edition, Addison-Wesley, 2011.
  5. P. Shirley et al., Fundamentals of Computer Graphics, 3ème edition, A K Peters 2009.
  6. E. Angel, OpenGL. A Primer, Addison Wesley, 2008.
9. Page Web du cours :
https://moodle.uqo.ca