Objectif : Amener l'étudiant à créer, de manière structurée, un objet de
complexité moyenne en intégrant le calcul du rendu selon
le modèle de Phong.
Résultat attendu : Concevoir un objet maximisant l'apparence de complexité
tout en minimisant le temps de programmation requis.
Il est important de noter qu'avant de débuter la création de
votre objet, vous devrez avoir reçu l'approbation du professeur.
Vous devrez lui présenter une image ou un schéma montrant
l'objet en question avec un certain niveau de détails. Vous pouvez
soumettre votre idée par courriel.
Ce projet se développera en trois étapes et le présent travail
représente la première. Le pondération de ce projet étant très
importante, il faut donc apporter un attention particulière à la
qualité de votre travail. Vous devrez faire la démonstration que
vous maîtriser bien les notions de graphisme par ordinateur
ainsi que les fonctions de la librairie WebGL.
Exigences :
1- Dans cette première partie, votre objet devra comporter
au moins trente surfaces distinctes. Vous pouvez utiliser
les éléments de base vue dans le travail #3 (sphères, cylindres,
cônes,...) pour créer vos surfaces (Ex. une sphère = une surface).
La référence suivante présente d'autres formes géométriques
que vous pouvez utiliser pour la construction de votre objet:
Il est recommandé de le créer en ne suivant pas la même structure
que celle employée dans le fichier "basic-object-IFS.js". Créez
simplement des listes de sommets et de normales que vous chargerez
dans des tampons (cliquez ici pour l'exemple du cube).
Ce prisme devra apparaître à deux endroits distincts de
votre objet. Notez que vous pourrez retirer ces prismes
dans le prochain travail.
2- Le rendu des polygones (couleur des surfaces) devra être
calculé à l'aide du modèle de Phong.
3- On devra pouvoir faire tourner votre vaisseau (ou objet) en déplaçant la
souris (bouton gauche enfoncé).
Comme sur le marché du travail, vous devrez limiter votre temps de
développement tout en maximisant le résultat présenté. Ainsi, avant
de vous lancer dans la tâche de programmation, vous devrez
développer une approche qui vous permettra de maximiser le résultat
dans le temps qui vous est accordé (se précipiter sur le clavier sans réfléchir
risque de vous faire perdre un temps précieux...). Ainsi, il est important de
profiter au maximum des symétries de votre vaisseau (ou objet) ainsi que des
éléments composant ce dernier. Aussi, il est préférable de créer
plusieurs grandes surfaces plutôt qu'un nombre égal de petites
surfaces.
Puisqu'il s'agit d'un projet de conception, il sera évalué selon les
éléments suivants:
Structure générale
Respect des critères imposés
- Nombres de surfaces
- Définition correcte du prisme (sommets et normales)
- Utilisation du modèle de Phong
- Interaction avec l'usager (rotation de l'objet)
Présence de commentaires pertinents
Pour vous inspirer, vous pouvez consulter les liens suivants :