Projet de conception
- Première partie -



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:

            https://www.ibiblio.org/e-notes/webgl/polyhedra/polyhedra.htm

      
Notez que vous devrez aussi créer un prisme triangulaire comme
       celui montré dans l'image suivante

                    Prisme triangulaire (cliquez ici)      

       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:

           - 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)
 
Pour vous inspirer, vous pouvez consulter les liens suivants :

   Exemples en image statique :
   Exemple dans un vidéo:

Pour vous amuser, vous pouvez jeter un oeil sur le jeu d'arcade suivant
qui a été créé avec WebGL :

      Jeu

      => pour ceux qui voudraient voir le code source
 
Sources des images:
   wallpapers.jurko.net/pic/7269/
   www.smscs.com

Cliquez sur le lien pour écouter la musique => https://www.youtube.com/watch?v=-bzWSJG93P8