UE LIFGraphique - Informatique Graphique en Licence 2e année - semestre d'automne 2026-2027


L'objectif de l'UE "Informatique Graphique" est de donner les bases de la réalisation de scènes graphiques interactives en 3 dimensions. Après avoir révisé les notions de mathématique et géométrie, nous abordons les notions importantes de l'informatique graphique : modélisation, rendu et animation.

Nous détaillons les points suivants :

  • pipeline de rendu,
  • représentation des maillages,
  • transformation,
  • modélisation par carte d'élévation, révolution ou extrusion,
  • éclairement,
  • textures,
  • première notion d'animation.
Ces points sont abordés en cours/TD et en TP à travers la réalisation d'un monde virtuel inspirés du domaine du jeu vidéo ou de l'architecture.

Cette UE nécessite la connaissance de la programmation en C/C++ et d'avoir suivi au préalable l'UE LIFAPI ou équivalent.

       

Notions abordées durant les cours et les TDs

  • Introduction au domaine de l'informatique graphique
  • Outils mathématiques : vecteur, matrice
  • Plans, polygones, maillage
  • Transformation : pile de matrice
  • Modélisation : révolution, extrusion, carte de hauteurs
  • Rendu : rendu projectif, élimination des parties cachées
  • Modèle d'illumination (ambient, diffus et spéculaire)
  • Texture, transparence
  • Animation

Emploi du temps - Automne 2026-2027

Lien vers l'emploi du temps complet du semestre sur ADE.

A noter que cette UE est en cours intégré, c'est-à-dire que les cours et les exercices de type TDs sont mélangés. Il est indispensable que vous assistiez aux CMs et TDs, afin d'acquérir les compétences nécessaires pour effectuer les TPs et valider cette UE.

Vue globale du semestre



Cours et TDs

La salle des CMs et TDS change au cours du semestre : regarder l'emploi du temps
CM1 - Introduction : jeudi 10 septembre 2026 - 9h35-11h15
CM2 - Notion de maths : jeudi 10 septembre 2026 - 11h30-13h
CM3 - Rendu/maillage : jeudi 17 septembre 2026 - 9h35-11h15
TD1 - Formes de base : jeudi 17 septembre 2026 - 11h30-13h
CM4 - Modélisation : jeudi 1 octobre 2026 - 9h35-11h15
TD2 - Vase/terrain : jeudi 1 octobre 2026 - 11h30-13h
CM5 - Illumination : jeudi 15 octobre 2026 - 9h35-11h15
CM6 - Texture : jeudi 15 octobre 2026 - 11h30-13h
TD3 - Animation : jeudi 12 novembre 2026 - 9h35-11h15
TD4 - Animation (suite) : jeudi 12 novembre 2026 - 11h30-13h
Pour les TPs, regarder le groupe qui vous a été attribué sur ToMUSS (colonne GrpTP), pour aller dans la bonne salle :
- Florence Zara (Ariane 06)
- Jean-Claude Iehl (Ariane 12)
- Gaspard Thévenon (Ariane 13)

  • TP1 : jeudi 24 septembre 2026 - 9h35-13h
  • TP2 : jeudi 08 octobre 2026 - 9h35-13h
  • TP3 : jeudi 05 novembre 2026 - 9h35-13h
  • TP4 : jeudi 19 novembre 2026 - 9h35-13h
  • TP5 : jeudi 26 novembre 2026 - 9h35-13h
Epreuves de Contrôle Continu et de seconde chance - effectuées en Amphi :
  • CC1 : jeudi 12 novembre 2026 - 8h-9h (9h30 si tiers temps) - Amphi Caullery (batiment Darwin C)
  • CC2 : jeudi 3 décembre 2026 - 9h35-10h35 (11h15 si tiers temps) - Amphi Jussieu (batiment Darwin A)
  • E2C : jeudi 17 décembre 2026 - 9h35-10h35 (11h15 si tiers temps) - Amphi ? (batiment ??)
Consignes : arriver en avance, avoir sa carte d'étudiant, aucun document autorisé, apporter du blanc pour effacer !

Supports pédagogiques

Modalité de Contrôle de Connaissances (MCC)

Calcul de la note finale de l'UE

La note finale LIFGraphique est calculée à partir de 3 notes :
  • noteCC1 - note issue de l'épreuve individuelle CC1 effectuée en amphi
  • noteCC2 - note issue de l'épreuve individuelle CC2 effectuée en amphi
  • noteTP - note issue des 3 rendus individuels du TP
Le calcul de cette note finale est :
  • LIFGraphique = 33% noteCC1 + 34% noteCC2 + 33% noteTP
Les modalités de controle des connaissances pour les UE de licence sont disponibles sur le site de l'Université.
Notez les points spécifiques importants suivants concernant l'UE LIFGraphique :
  • Une épreuve de seconde chance (E2C) sera proposée à tous les étudiants en fin de semestre.
  • L'épreuve de E2C ne peut pas remplacer la note de TP.
  • En cas d'aucune absence aux controles continus ET si le TP a été rendu,
    la note de seconde chance remplacera la plus mauvaise note des controles continus effectués en amphi (noteCC1 ou noteCC2), uniquement si elle est meilleure.
  • En cas d'absence à une seule épreuve de controles continus effectués en amphi ET si le TP a été rendu,
    la note de seconde chance remplacera la note concernée par l'absence (noteCC1 ou noteCC2).
  • La note de seconde chance ne sera pas utilisée et l'étudiant sera DEF à l'UE dans les 2 cas suivants :
    • en cas de non rendu du TP projet (quelque soit les notes des épreuves effectuées en amphi).
    • en cas d'absences aux 2 épreuves de controles continus effectuées en amphi.
Il n'y a pas de session 2 (ni en janvier ni en juin/juillet).
  • Information relative aux CC

  • Objectif : évaluez votre compréhension de la matière à à deux moments du semestre.


  • Informations relatives au rendu du TP

  • Rappel : la présence en TP est obligatoire! et le TP se fait tout seul.
    Objectif : évaluez les pratiques de développement liées à la matière
    La grille d'évaluation du TP se trouve sur le sujet de TP


    Modalités pour rendre votre travail de TP :
    1. Sur ToMUSS (colonne Depot_Code_TP) : rendu d'une archive contenant vos fichiers de votre code : SceneEtudiant.h, SceneEtudiant.cpp, et tous les autres fichiers que vous avez pu modifier ou ajouter (comme des textures)
    2. Sur ToMUSS (colonne Depot_Rapport_TP) : rendu d'un rapport (au format pdf). Celui-ci devra contenir pour chacune des questions du TP, des captures d'écran de votre scène, ainsi que le code corespondant. Le code devra être correctement indenté et commenté (en-tête des fonctions expliquant ce qu'elles font, code des fonctions, appel des fonctions, etc.).
    3. En cas de souci (si archive / rapport trop volumineux) : envoyez un mail à votre intervenant de TP avec adresse de dépot de vos fichiers.
      Vous pouvez utiliser : FileSender pour transférer vos fichiers.

Récupération du code source du TP et compilation

Nous vous fournissons un code de départ pour effectuer les TPs. Ce code est basé sur l'utilisation de la librairie gKit2 light développée par Jean-Claude Iehl.

Etape 1 - Récupération du code (gkit2light + code pour ce TP)

  • Création d'un répertoire de travail dédié à l'UE
  • mkdir LIFGraphique
  • On se positionne dans ce répertoire
  • cd LIFGraphique
  • Le code de gkit2light se récupère ensuite avec Git comme ceci :
  • git clone https://forge.univ-lyon1.fr/Alexandre.Meyer/gkit2light
  • Le code de départ de lifgraphique se récupère ICI :
    • Il faut décompresser l'archive
    • Puis mettre le répertoire lifgraphique dans le répertoire gkit2light/
    Vous travaillerez ainsi dans le répertoire gkit2light/lifgraphique/ avec la modification des fichiers SceneEtudiant.h et SceneEtudiant.cpp

Etape 2 - Compilation du code

  1. On se place dans le répertoire gkit2light
  2. Vérifier que vous avez la commande premake5
    • Si vous ne l'avez pas :
      (1) récupérer la sur le site officiel
      (2) dezippez l'archive et copiez premake5 dans le répertoire de gkit2light
      (3) et il faut donner l'autorisation de l'exécuter :
    • chmod u+x ./premake5
  3. Si vous souhaitez utiliser codeblocks + Linux
    • Générer le projet codeblocks
    • premake5 codeblocks
    • Puis, ouvrir le projet lifgraphique.cbp
  4. Si vous souhaitez utiliser un Mac ou un Linux
    • Pour générer le Makefile (à ne faire qu'UNE seule fois)
    • premake5 gmake
    • Pour compiler (à faire à chaque fois que vous modifiez votre code)
    • make lifgraphique
    • Pour executer votre code sous Linux ou Mac
    • ./bin/lifgraphique
  5. Pour compiler sous Linux de chez vous (ubuntu)
    • voir le apt-get install ... ici
    • puis comme indiqué plus haut
    • Si probleme avec premake (qui est une application 32bits) pour l'executer sur un système 64 bits, il faut installer les librairies 32bits.
    • sudo apt-get install libc6-i386
  6. Si vous avez une erreur de compilation
    • Changez build target en debug|x32 au lieu de debug|x64
  7. Si vous avez une erreur de compilation sur les machines de l'université sous codeblocks
    • Vérifiez le compilateur utilisé par codeblocks : menu Setting/Compiler/Toolchain executable
    • C:\ProgramFiles\x86\CodeBlocks\MinGW
  8. Pour sauvegarder automatiquement sous vscode
  9. Préférences / Paramètres / éditeur de texte / Fichiers / Auto Save / onFocusChange

Etape 3 - Quelques indications sur le code

  1. Pour changer la position de la caméra
    • Modifier dans le fichier main.cpp les paramètres de la caméra
    • camera.lookat(Point(0, 2, 0), 50);
  2. Quelques explications lors du lancement de l'application
    • 'h' pour l'aide
    • 'z' pour faire apparaitre une trajectoire qui servira pour l'animation
    • 'f' pour faire apparaitre les faces cachées

Récupération de vos données depuis votre compte Lyon 1

  • Si vous avez besoin de récupérer votre travail que vous avez effectué à l'université pour le mettre dans le code que vous avez installer sur votre machine personnelle : fichiers "SceneEtudiant.h" et "SceneEtudiant.cpp" (et les autres fichiers que vous avez pu modifier et/ou rajouter comme par exemple, des images de texture)
  • Voici comment accéder aux fichiers des machines Lyon 1 depuis votre machine personnelle

Sujet de TP

Votre code prendra place dans le répertoire "gkit2light/lifgraphique/"

  • Il faut suivre les instructions mises sur le sujet de TP
  • Au niveau du code, il faudra modifier les fichiers SceneEtudiant.h et SceneEtudiant.cpp

  • TP1 (formes de base) et TP2 (transformations géométriques)

    • Affichez un cylindre, un cône et une sphère de taille unitaire, centrés sur l'origine et avec leurs normales et leurs textures
    • A l'aide de transformations géométriques, assemblez ces formes de bases pour afficher un objet plus complexe (une fusée, un avion ou une voiture)

    TP3 (terrain) et TP4 (billboards, cubemap)

    • Affichez un terrain avec les normales et une texture
    • Affichez des arbres sur le terrain sous forme de billboards (donc avec les textures)
    • Affichez un cubemap autour du terrain

    TP5 (animation, monde virtuel)

    • Affichez le véhicule en mouvement au dessus du terrain. Le véhicule suit une courbe que vous pouvez afficher en appuyant sur 'z'. Regardez l'exemple de code dans le Animation.h
    • Complétez votre scène, afin d'obtenir un monde virtuel un peu plus complet.

Livres et tutoriaux

Quelques astuces à savoir

- Problème de compilation avec Codeblocks

Attention, les noms de répertoires ne doivent contenir ni espace, ni accent. Et cela sur tout le chemin d'accès au répertoire. Par exemple, ne pas mettre votre répertoire dans le dossier "Mes documents".

- Problème de place mémoire

Si vous avez dépassé votre quota, vous pouvez avoir des erreurs à la compilation, car l'ordinateur n'a plus assez d'espace mémoire pour sauvegarder les fichiers de compilation et/ou l'exécutable.
- Il faut que vous fassiez du ménage sur votre compte, en supprimant des répertoires/fichiers qui ne vous servent plus (faire des sauvegardes sur un autre support de stockage avant pour les archiver).
- Vider le cache de votre navigateur.

- Fichiers SceneEtudiant.cpp SceneEtudiant.h vides

Suite à un manque de place mémoire, le code mis dans vos fichiers peut disparaître : SceneEtudiant.cpp SceneEtudiant.h vides. Pour restaurer une version précédente d'un de vos fichiers :
  • ouvrez l'Explorateur de fichiers sous Windows (même si le problème est survenu sous Linus - redémarrez),
  • cliquez sur le fichier,
  • puis cliquez sur Historique, sous l'onglet Accueil, dans le groupe ouvrir. Cette action ouvre la fenêtre Historique des fichiers. Vous pouvez vous déplacer dans les différentes versions disponibles de ce fichier en utilisant les boutons Version précédente et Version suivante.

Captures d'écran de projets rendus