Le travail à réaliser:

Il s'agit de concevoir une boite à musique animée et interactive.

Remarque sur le déroulement du TP:

Aujourd'hui le TP est noté... Vous devez aller jusqu'à la question IV.

Pour le 10 décembre 2005, vous devez rendre le TP complet avec un mini rapport (format pdf, html ou papier) dans lequel vous expliquez ce que vous avez fait. Vous envoyez le tout par mail avec comme sujet: tp2005-UMIN345-2. Des mini-soutenances seront organisées la semaine du 12 aux horaires des TPs.

I. Représentation de la scène en projection orthographique
  1. La boite à musique est rectangulaire. Elle est faite en deux parties, une partie couvercle et une partie socle. Lorsqu'elle est fermée, ses dimensions sont: largeur 20cm, hauteur 10cm, profondeur 10cm. Dessiner la boite de sorte à ce qu'on la voit légèrement de dessus et de côté, sa couleur est (0,204,255).
  2. Faire en sorte que lorsque l'utilisateur appuie sur 'o' un animation montre la boite qui s'ouvre et reste ouverte. Quand il appuie sur 'f' elle se ferme avec l'animation inverse. L'intérieur de la boite à musique est en fil de fer.
  3. Sur le fond de la boite 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 objet est monté sur une tige qui est fixée sur le fond de la boite à musique au centre. L'objet pourra être une sphère (glutSolidSphere) ou un cube (glutSolidCube).
II. Représentation de la scène en projection perspective
III. Interactions
  1. En appuyant sur les flèches gauche, droite, haut et bas on doit pouvoir faire tourner la boite.
IV. Lumière
  1. On ajoutera une lumière placée au dessus et légèrement à droite de la boite. 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. On rendra la sphère qui tourne 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 remplacer la sphère qui tourne par une danseuse ou par une sculpture.
  2. On peut utiliser les exemples de Nate Robins (ici une copie d'un sous-ensemble) pour le chargement d'objets au format .obj:
    • soccerball.obj et soccerball.mtl: la description au format .obj d'un ballon de foot. Il y a d'autres objets extraits de Nate Robins ici
    • 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 cette boîte à musique. Vous êtes libres des extensions possibles: réalisme (éclairages, objets, textures, etc), animations, interactivité... Pour cette question, vous serez jugés sur votre créativité.