Le travail à réaliser:

Il s'agit de faire une visualisation représentant des prochains amphis dans une université.

I. Représentation de la scène en projection orthographique
Faire en sorte que le point de vue soit situé à l'arrière de la scène à une hauteur de 180 dirigé vers le centre du bureau.
  1. Les dimensions de l'amphi sont: largeur 1000cm, longueur 2000cm, hauteur 600cm
  2. Un écran de 400cmx300cm est fixé sur le mur avant. Le bas de l'écran est situé à 150cm du sol.
  3. Sur l'écran est affichée une mosaique telle que celle réalisée au TD 1. On modifiera la couleur des étoiles pour qu'elles apparaissent avec des dégradés de couleurs.
  4. Un bureau formé de deux parallélépipèdes rectangles est placé devant l'écran.
    • Le premier parallélépipède représente la paillasse, il est blanc.
    • Le deuxième représente le support en bois il est marron et obtenu à partir de la couleur d'un mélange de (102,51,0). Pour le support, comme pour la paillasse, certaines facettes pourront être supprimées.
  5. Des fauteuils (représentés très simplement par un cube de dimension 60cmx40cmx80cm) sont placés sur des cercles concentriques sur un demi disque autour du bureau. Les premiers se situent à une distance respectable (300cm) et sur le même plan d'équation y=0.
II. Représentation de la scène en projection perspective
III. Interactions
  1. En appuyant sur les flèches gauche et droite le point de vue doit pouvoir être déplacé latéralement
  2. En appuyant sur les flèches gauche et droite le point de vue doit pouvoir avancer/reculer
  3. En appuyant sur 'a' l'utilisateur lance l'animation sur les étoiles qui se mettent à tourner sur elles-mêmes
    NB: Dans un premier temps, on ne demande pas une détection de collision, ie on autorise le point de vue à traverser les objets...
IV. Lumière
  1. On ajoutera une lumière placée au centre de la scène au plafond. Dans un premier temps, on utilisera les paramètres d'illumination par défaut. Rappel: paramètres par défaut de l'éclairage (matériau et lumière):
  2. Ajouter une sphère (cf glutSolidSphere) sur la paillasse que vous rendrez brillante.
V. Chargement d'objets prédéfinis
Il s'agit ici d'intégrer des objets prédéfinis dans la scène
  1. On pourra déjà par exemple les cubes par des fauteuils
  2. On peut utiliser les exemples de Nate Robins (ici une copie d'un sous-ensemble) pour le chargement d'un fauteuil pour deux personnes:
    • couch.obj,couch.mtl: la description du fauteuil au format .obj
    • glm.c, glm.h: le code permettant de charger un fichier
    • transformation.c: les sources du tutorial des transformations qui utilise les fonctions de chargement du fichier
VI. Aller plus loin...
Il s'agira d'aller plus loin dans la conception de cet amphi. Vous êtes libre des extensions possibles: réalisme (éclairages, objets, textures, etc), animations, interactivité...