2. Analyse des besoins du projet

L'objectif du projet en termes d'implémentation était de réaliser un jeu en 3D. Comme il n'y avait pas de bibliothèque permettant de développer de la 3D dans l'environnement de programmation Bigloo, le port d'APIs multimédia déjà existantes en C a dû être effectué. Il a fallu effectuer le binding de deux bibliothèques:

Au dessus de ces deux interfaçages "bruts", un moteur 3D a été réalisé, dont le but est de permettre une utilisation plus aisée d'OpenGL en offrant des fonctionnalités et des notions d'assez haut niveau, non présentes en standard dans cette librairie.

Le moteur 3D constitue un sur-ensemble de classes Scheme utilisant les deux bindings décris précédemment. Il n'est ainsi pour une grosse partie qu'un "emballage" utilitaire, réutilisant principalement les sous fonctions C présentes dans les bibliothèques d'origine.

Ci-dessous, un petit descriptif de l'architecture et des fonctionnalités offertes par le moteur: