\section{Etat des lieux, conclusion}

Nous allons terminer ce rapport par un état des lieux du projet. Nous espérons
que cela permettra aux futurs contributeurs d'avoir une vision plus claire de ce
qu'il reste à faire et à corriger pour améliorer le programme.\\

Tout d'abord, de manière générale, la structure du programme n'a pas été conçue
pour permettre facilement à plusieurs personnes et/ou plusieurs groupes de 
travailler sur le projet sans devoir s'arracher les cheveux sur des détails
d'implémentation relatifs à une partie que l'on n'a pas codé soi-même. En l'état, 
les différentes parties fonctionnent plutôt de manière isolée sans jamais penser
qu'une autre partie pourrait avoir besoin de quelque chose. Nous avons tenté 
d'apporter quelques améliorations, mais repenser la structure du code de base
pourrait être très profitable pour la lisibilité du programme.\\

Plus particulièrement, au niveau des textures, on peut séparer les améliorations
à apporter en deux parties : l'interaction avec les objets, et l'application des
textures en elle-même.

\subsection{Les objets}

Pour l'instant, seules les sphères sont pleinement fonctionelles, s'affichent, et
supportent l'application d'une texture. Nous manquons cruellement d'informations
pour les autres objets, en terme de paramètres principalement. Dans l'idéal, un
objet devrait être capable de mettre à disposition son équation paramétrique s'il
en a une, sinon il devrait pouvoir donner les coordonnées du triangle qui contient
exactement un point donné. Cela permettrait d'implémenter une application de texture
pratiquement indépendante des objets.

\subsection{L'application de texture}

Plusieurs améliorations sont envisageables concernant l'application de texture, nous
en avons déjà évoqué dans les sections précédentes. Une première modification pourrait
être de pouvoir appliquer une texture sur une surface composée de triangles.
Actuellement, nous appliquons une texture suivant une paramétrisation naturelle
de l'objet, mais ce n'est pas possible pour tous les objets. Cette modification
permettrait d'implémenter l'application de texture pour n'importe quel objet, quelle
que soit sa forme, sa taille, ou même ses éventuelles équations paramétriques,
dont nous n'aurions plus besoin.\\

Lors d'une application de texture sur un objet, la texture subit très souvent des
déformations dues à la forme de l'objet. Un moyen de contrer ces déformations est
de permettre à l'utilisateur de spécifier une fonction de transformation qui 
agirait sur les coordonnées \textit{u} et \textit{v}, obtenues à partir des
coordonnées d'un point de l'objet. L'exemple typique est l'application d'une
carte du monde sur un sphère. Le résultat dépendra directement de la projection
utilisée pour dessiner la carte.\\