(Encadré par Michel Buffa et Frédéric Devernay)
Nous avons choisi de modéliser un billard en 3D, grâce à la librairie OpenGL. Pour ce faire, nous sommes partis d'un modèle existant, comprenant les modules de calcul des trajectoires et de la gestion des collisions entre les boules.
Dans
un premier temps, nous avons opté pour une conception séparant
l'aspect visuel de l'aspect fonctionel. Ceci afin d'avoir un code propre,
hièrarchisé, facilement modifiable et réutilisable.
Cependant, le manque de temps nous a obligé à changer de
méthodologie et de faire un code plus linéaire. Les
deux sources sont disponibles.
Un point fort de la première méthode, vers laquelle nous
nous orientions, et qui nous motivaient énormément, était
de réaliser un billard indépendant l'implémentation
visuel. Ainsi, notre billard actuel est codé grâce à
OpenGL, mais il aurait été très facile de changer
pour une version en X11. Il aurait suffit de remplacer la fonction convertGL
associée à la classe Objet, par une fonction convertX11,
appelant du code X11, et d'implémenter une fonction convert
pour chaque type d'objet, héritant de cette classe.
La première partie de notre projet a donc consisté à réaliser le modèle objet, ainsi qu'à implémenter les modules de calcul. La seconde partie de notre travail a consisté à appliquer à la scène des effets particuliers (textures, éclairages, mouvements). C'est ce que nous allons détailler dans la partie suivante.
Vue du billard3D, sans ajout du décors, ni des textures.
2- Les fonctionnalités développées
2.1- L'utilisation du billard
Celle-ci est très simple, car une courte démo a été réalisée. Il suffit de l'activer pour voir les trois boules bouger.
2.2- Les effets d'OpenGL
Les effets utilisant OpenGL qui ont été ajouté au billard sont les changements de caractéristiques de la lumière, de type d'éclairage, les effets sur les objets.
3- Mode d'emploi de l'application
3.1- Lancement
Pour utiliser le billard, il suffit de lancer l'exécutable (fournit ci-dessous). La scène apparaît, vue du dessus. A ce stade, vous pouvez alors manipuler la scène.
3.2- Manipulation à la souris
Avec le bouton gauche de la souris enfoncé, il est possible
d'effectuer des rotations sur la scène.
Avec le bouton de milieu de la souris enfoncé (dans le
cas où la souris en possède un), il est possible de réaliser
des translations sur la scène.
Avec le bouton droit de la souris enfoncé, le menu
présentant les fonctionnalités disponibles, est activé.
3.3- Les touches du clavier
Les touches directionnelles du clavier permettent de réaliser des
rotations sur la scène.
La touche F1, permet d'utiliser le bouton gauche de la souris
pour faire des translations, au lieu de rotations, dans le cas où
un troisième bouton sur la souris ne serait prévu.
La touche "Escape" permet de quitter l'application.
Vous
pouvez soit avoir accès à l'archive de l'exécutable
(compilé sur PC, à l'aide de Microsoft Developer Studio),
soit avoir accès aux archives des sources
qui ont généré l'exécutable, soit à
l'archive des sources réalisées
à l'aide de l'approche objet. Vous pouvez également télécharger
tout le site.
Nous tenons également à préciser que l'implémentation
réalisée l'a été dans le but d'être réutilisé
par la suite dans une application plus complète et plus poussée.