Projet Infographie
2020-2021

Instructions et calendrier

Le travail est à conduire en C++/OpenGL/GLUT. La plateforme de développement est libre. Le code source produit devra être totalement portable.

Le travail est à réaliser en groupe de 3 étudiants. Un chef de projet sera désigné au sein de chaque groupe.

Le calendrier de travail est le suivant :
  - Début du projet : Semaine du 15 mars
  - Répartition en groupes de travail, proposition d'un pré-concept de l'application : Semaine du 22 mars
  - Concept final de l'application et répartition des tâches : Semaine du 5 avril
    - Modélisation géométrique
    - Modèle physique et animation
    - Gestion des caméras
    - Lumières, matériaux et textures
    - ...
  - Présentation d'un prototype : Semaine du 26 avril
  - Présentation finale : Semaine du 3 mai, séance de TP du mercredi 5 mai
  - Retour final : Mardi 11 mai à 16h dernier délai

Indications communes à tous les sujets

   - Les contrôles implantés seront prioritairement réalisés au clavier. Ils pourront éventuellement être réalisés à la souris.
  - Dans une première phase de développement, la modélisation géométrique peut éventuellement être sommaire. Le plaçage de texture est une bonne méthode pour éviter de modéliser géométriquement les objets de façon précise.
  - Le projet devra intégrer l'utilisation des fonctionnalités suivantes :
    - modélisation géométrique,
    - gestion des caméras,
    - moteur physique (éventuellement simple),
    - animation,
    - lumière(s),
    - matériels,
    - textures.
  - Le projet devra permettre :
    - de switcher entre mode d'affichage fil de fer et mode d'affichage par facettes,
    - d'activer/désactiver l'animation lorsqu'elle est en cours.

Le projet devra intégrer la possibilité de switcher entre une visualisation à la première personne (avec ou sans avatar) et une visualisation à la troisième personne. On pourra éventuellement utiliser deux fenêtres pour cela.

Le projet devra permettre le passage en "full screen" et le retour en mode fenêtré normal.

Le projet pourra être réalisé en programmation orientée objet pour les aspects qui ne relèvent ni d'OpenGL ni de GLUt.
Le projet devra avoir été validé concernant les problèmes d'allocation/désallocation dynamique de mémoire pouvant conduire à des fuites de mémoire ou à des plantages.

Deux thèmes sont proposés :
  - Thème 1 : Un circuit à bille
  - Thème 2 : Un parcours d'obstacle
Chaque groupe définit son concept sur la base du thème choisi.

Suivi

Les séances de Cours-TD-TP pourront être l'occasion de discutions.
Lors de la séance de TP de la semaine du 26 avril, une présentation d'un prototype exécutable sera réalisée.
Dans tous les cas, le chef de projet sera l'interlocuteur privilégié.

Instructions de retour

Le travail est à retourner sous la forme d'une archive zip (ou d'un autre type) déposée sur moodle dans le cours Informatique Graphique de M1. La dead line est le mardi 11 mai à 16h.
L'archive zip devra s'extraire dans un répertoire créé automatiquement à cette fin portant dans son nom les noms des 3 membres du groupe.

L'archive zip devra contenir un fichier readme (txt, htm ou pdf) où seront indiquées les informations suivantes :
  - nom et adresse électronique de chaque membre du groupe de travail,
  - descriptif des techniques employées pour réaliser le travail,
  - répartition du travail au sein du groupe de travail,
  - liste des fichiers sources nécessaires à la compilation,
  - toutes les informations jugées par vous comme étant nécessaires à la bonne compréhension du travail réalisé.

Autant que possible, l'archive zip devra ne contenir que les fichiers strictement nécessaires (sources, solution, projet, makefile ou équivalent, ressources, textures, ...) et en tout état de cause occuper moins de 50 Mo.

Un accusé de réception sera envoyé par mail aux adresses indiquées dans le readme lorsque l'archive aura été récupérée et extraite, ou en cas de problème.

Critères d'évaluation

Les critères d'évaluation seront les suivants:

   - Respect des directives
  - Respect du sujet de projet
  - Qualité du fichier readme
  - Qualité et facilité d'exploitation des codes sources
  - Qualité de l'affichage graphique
  - Qualité de l'animation
  - Qualité de la programmation GLUt
  - Qualité de la programmation OpenGL
  - Diversité des fonctionnalités OpenGL utilisées :
    - Caméras
    - Lumières
    - Matériaux
    - Textures
    - ...

La liste ci-dessus n'est pas exhaustive et n'est pas triée par ordre d'importance des critères.

Questions, remarques, erreurs
nicolas.janey@univ-fcomte.fr