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 2016  Horaire et local
Professeur : Tawbe, Bilal
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.
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 en supervision individuelle
  • Quatre (4) heures de supervision individuelle en présence directe (4 rencontres avec les étudiants):

  • 1 heure le 11 janvier 2016
  • 1 heure le 1er février 2016
  • 1 heure le 29 février 2016
  • 1 heure le 28 mars 2016
4. Heures de disponibilité ou modalités pour rendez-vous :
Bureau : À venir

Téléphone : À venir

Courriel : : tawb01@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).
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 1 : 21 janvier 2016.

11 jan. 2016 
2    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.
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.
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 2 : 4 février 2016.

01 fév. 2016 
3    Représentation d'objets 3D
  • Polyèdres et surfaces quadriques.
  • Objets et collisions
  • Fonctions d'OpenGL pour les objets 3D.
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.
Texture et effets visuels
  • Bump mapping
  • Plaquage linéaire de texture.
  • Plaquage planaire de texture.
Animations et fonctions interactives
  • Modélisation d'objets.
  • Modélisations des animations.
  • Fonctions interactives d'OpenGL.
  • Effets spéciaux.

Travaux dirigés 3 : 4 mars 2016

29 fév. 2016 
4    Examen final 04 avr. 2016 
5    01 jan. 2016 
6    01 jan. 2016 
7    01 jan. 2016 
8    01 jan. 2016 
9    01 jan. 2016 
10    01 jan. 2016 
11    01 jan. 2016 
12    01 jan. 2016 
13    01 jan. 2016 
14    01 jan. 2016 
15    01 jan. 2016 
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 :
  • Tp 1 : 25%
  • Tp 2 : 25%
  • Tp 3 : 25%
  • Examen final: 25%

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 semaine).

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