/~didier/.common/index.fr /~didier/.common/lectures.fr.s /~didier/.common/research.fr /~didier/.common/software.fr /~didier/.common/blog.fr
« Syntactic sugar causes cancer of the semicolon. » -- Alan Perlis
didierverna.info
XHTML 1.0 conformant
CSS 2.0 conformant
/~didier/.common/topleft OpenGL / ENSTA /~didier/.common/topright

Synthèse d'Image

ENSTA / 3A / Module D9-1

Intitulé Transparents / Sujets
00. Introduction à OpenGL d91_00_intro.pdf
01. Géométrie et Prise de Vue d91_01_geom.pdf
01. TP 1 d91_tp1.html
d91_tp1.c
02. Apparence et Ombrage d91_02_shading.pdf
02. TP 2 d91_tp2.html
d91_tp2.c

Bienvenue sur la page d'accueil du cours d'OpenGL donné à l'ENSTA dans le cadre du module D9-1. Vous trouverez ci-dessous l'emploi du temps spécifique de ce cours pour l'année scolaire 2009 -- 2010. Associés à chaque séance se trouvent les transparents en PDF des cours ou les sujets des TP selon le cas. Ces ressources seront disponibles au fur et à mesure de l'avancement des séances. Le fonctionnement des TP est décrit plus en détail en dessous de l'emploi du temps.

Fonctionnement des TP

Les TP doivent se faire en binôme.

Commencez par créer un répertoire spécifique pour tous les TPs d'OpenGL. Ensuite, pour chaque TP, vous devez télécharger un fichier nommé d91_*.c (les liens sont dans l'emploi du temps) et travailler dedans. Le code de chaque TP est intégralement contenu dans ces fichiers. .

Le sujet de chaque TP est contenu dans un fichier nommé d91_*.html (les liens sont dans l'emploi du temps).

Pour compiler les TP, récupérez tout d'abord le fichier d91_makefile et renommez-le Makefile dans votre répertoire de travail. Ensuite, tapez simplement make ou gmake le cas échéant (GNU Make est requis). Tous les TP présents dans le répertoire seront (re)compilés en fonction des besoins.

À partir du deuxième TP, vous aurez besoin d'une image (wood.ppm) contenant une texture de bois. Attention: il ne s'agit pas d'une vraie image PPM valide. Le format est simplifié pour le TP.

Les TP fonctionnent comme des exercices à trous, commentés. Il existe deux types de zones dans lesquelles vous devez travailler, ces zones étant repérées par des lignes particulières dans le code. Il est interdit de modifier le code à l'extérieur de ces zones. Aucune modification de code hors-zone ne sera prise en compte lors de la correction (d'ailleurs je ne les verrai même pas).

Les lignes suivantes repèrent une zone (vide) que vous devez remplir. Des indications sont données en commentaire.

#define FILL_ME_TP? /* ==================================================== */
  ...
#undef FILL_ME_TP? /* ===================================================== */

Les lignes suivantes repèrent une zone qui contient déjà du code, mais que vous devez modifier.

#define TWEAK_ME_TP? /* =================================================== */
  ...
#undef TWEAK_ME_TP? /* ==================================================== */

Pour vous aider dans le travail, des commentaires sont inclus dans le code, à proximité des zones de travail. Les commentaires en question, que vous devez lire attentivement obéissent à une syntaxe particulière pour être facilement repérables:

/* TP? #### A blah blah that
   TP? #### you should better
   TP? #### read carefuly ... */

Contrôle de connaissances

L'évaluation du module (en tout cas de la partie OpenGL) s'effectuera par notation des TP. Les sources de chaque TP sont accessibles le jour du cours correspondant, ce qui vous donne l'opportunité de travailler sur les TP 15 jours minimum avant la séance officielle. Vous devez me rendre votre travail par mail à la fin de chaque séance de TP.

Un seul mail par binôme, mais avec les deux noms dedans.

Ne m'envoyez que le fichier C. Ce n'est pas la peine de m'envoyer le Makefile, c'est moi qui vous l'ai donné... Ce n'est pas non plus la peine de m'envoyer une archive, encore moins compressée.

Remarquez que chaque TP contient implicitement une correction du TP précédent. C'est pour cette raison que les sujets ne sont pas tous accessibles dès le départ ;-) ...

Bon travail !

/~didier/.common/btmleft /~didier/.common/btmright
French Flag English Flag
Copyright © 2006 -- 2019 Didier Verna didier@lrde.epita.fr
Dernière modification: Wednesday 27 November 2013 à 10:39