%-*-LaTeX-*-

\clearpage
\part{Interface, modeleur, visualisation}
\label{interf}

\setcounter{section}{0}

L'interface est divis\'ee en deux fen\^etres sur l'\'ecran. 
Une fen\^etre principale
dans laquelle appara\^{\i}t la vue de la sc\`ene en 3 dimensions,
puis une fen\^etre annexe dans laquelle
se trouve les outils de cr\'eation de m\'etaformes\index{M\'etaforme} et de mod\'elisation du monde, ainsi que
l'acc\`es \`a toutes les fonctions du logiciel.

\section{La cr\'eation et la gestion d'une sc\`ene}

\subsection{La mod\'elisation des m\'etaformes}

Comme nous l'avons vu auparavant, les m\'etaformes sont constitu\'ees d'\'emetteurs\index{\'Emetteur}.
L'interface nous permet donc par l'interm\'ediaire d'ic\^ones et de boutons de cr\'eer des
\'emetteurs dans une nouvelle m\'etaforme\index{M\'etaforme} ou d'en ajouter dans une m\'etaforme d\'ej\`a 
\'existante.
\\Ensuite, un syt\`eme de s\'el\'ection \`a plusieurs niveaux nous permet de pouvoir
int\'eragir sur un ensemble d'objets defini par l'utilisateur.
Il y a trois types de s\'election dans le modeleur\index{modeleur} qui correspondent aux trois types d'objets
\'editables de l'application :
\begin{itemize}
\item{S\'election de m\'etaformes\index{M\'etaforme}}
\item{S\'election d'\'emetteurs}
\item{S\'election de points constituant les \'emetteurs}
\end{itemize}

La possibilit\'e de s\'electionner des \'elements dans la sc\`ene permettra
d'int\'eragir sur plusieurs \'el\'ements \`a la fois.
\\Ainsi, l'utilisateur aura le choix d'effectuer, suivant le type d'objet selectionn\'e, 
des actions sur cette selection.
Les actions de base pr\'evues \'etant le d\'eplacement, la rotation, la suppression ou la 
copie de la s\'election courante.
Par ailleurs, sur une s\'election de type m\'etaforme\index{M\'etaforme} ou \'emetteur\index{\'Emetteur}, on pourra en plus des actions par
d\'efaut, modifier certaines propri\'et\'es d\'ecrites ci-dessous.

\renewcommand{\labelitemii}{$\ast$}

\begin{itemize}
\item{Les propri\'et\'es \'editables des m\'etaformes sont}
\begin{itemize}
\item{La valeur seuil d'\'energie\index{\'energie} o\`u l'on placera la peau de la 
m\'etaforme\index{M\'etaforme}.}
\item{La texture de la m\'etaforme, c'est \`a dire l'habillage repr\'esentant sa peau.}
\end{itemize}

\item{Au niveau d'un \'emetteur, on pourra changer les propri\'et\'es suivantes:}
\begin{itemize}

\item{Le rayon qui sp\'ecifie la limite d'action de l'\'emetteur\index{\'Emetteur}, comme
nous l'avons dej\`a vu :
on consid\`ere qu'un point P situ\'e au del\`a du rayon est hors de la
zone d'influence de l'\'emetteur.}

\item{La fonction d'\'energie\index{\'energie} de l'\'emetteur\index{\'Emetteur}. L'utilisateur aura le choix parmi une s\'erie de fonctions pr\'ed\'efinies.}
\item{Une fonction de perturbation, facultative, permettant, suivant les d\'esirs de
l'utilisateur, de transformer la r\'eaction de l'espace sur la m\'etaforme\index{M\'etaforme} se situant sous
cet \'emetteur\index{\'Emetteur}. Ce param\`etre servira essentiellement pour cr\'eer des effets un peu sp\'eciaux
sur les objets 3d calcul\'es.}
\end{itemize}
\end{itemize}

Enfin, et pour en finir avec les options de mod\'elisation des m\'etaformes\index{M\'etaforme} offertes \`a l'utilisateur, il
aura la possibilit\'e de cr\'eer des objets bool\'eens \`a l'aide de deux \'emetteur\index{\'Emetteur}s distincts.
Les op\'erations bool\'eennes permises \'etant l'union, l'intersection ou la diff\'erence de
deux \'emetteurs. Cette op\'eration cr\'eera un nouvel \'emetteur r\'esultant de l'op\'eration
bool\'eenne entre les deux autres.

\subsection{Gestion des cam\'eras, des lampes et des sc\`enes}

L'application nous permet, outre la cr\'eation des m\'etaformes\index{M\'etaforme} et leur mod\'elisation, de g\'erer
les autres objets constituants d'une sc\`ene 3d. Soit, les cam\'eras et les lampes.
L'utilisateur a donc la possiblit\'e de cr\'eer des cam\'eras et des sources lumineuses
dans le monde ainsi que de les \'editer comme on l'a vu pr\'ec\'edemment pour les m\'etaformes\index{M\'etaforme}.

Enfin, une particularit\'e int\'eressante du modeleur\index{modeleur} est la possibilit\'e pour l'utilisateur
de travailler sur plusieurs sc\`enes ``tampons''\footnote{buffers}, permettant ainsi la
mod\'elisation s\'epar\'ee d'une sc\`ene complexe. La superposition ensuite des tampons,
permettant d'agir comme des calques sur la sc\`ene r\'esultante, permettra \`a l'utilisateur
de constituer la sc\`ene finale.

\section{Visualisation en 3 dimensions de la sc\`ene}

Pour dessiner la sc\`ene, 7 types de rendus\index{rendu}
sont pr\'evus, dont 6 visualisables
en temps r\'eel durant la mod\'elisation de la sc\`ene (suivant la puissance de la machine!).
Ces diff\'erents modes de rendus sont : 
\begin{itemize}
\item{Rendu par points : seuls les sommets des facettes des
m\'etaformes\index{M\'etaforme} sont dessin\'es.}
\item{Rendu en fil de fer : toutes les facettes sont dessin\'ees.}
\item{Rendu en fil de fer, faces cach\'ees, on ne dessine que les facettes visibles.}
\item{Rendu en mod\`ele d'illumination \textit{flat} : chaque facette poss\`ede une unique couleur,
suivant son orientation face aux sources de lumi\`eres.}

\item{Rendu en mod\`ele d'illumination de \textit{Gouraud}.}
\item{Rendu en mod\`ele d'illumination de \textit{Phong}.}
\item{Rendu \textit{raytracing}\index{raytracing} r\'eserv\'e pour la visualisation finale de l'image.}
\end{itemize}

Pour les 3 premiers types de rendus\index{rendu}, l'utilisateur aura aussi la possibilit\'e
de visualiser, en plus du flot de facettes repr\'esentant les m\'etaformes\index{M\'etaforme}, les \'emetteurs\index{\'Emetteur}
constituant les m\'etaformes sous forme de fil de fer.


\section{Les fonctions d'entr\'ee / sortie}
\label{io}

Plusieurs types de fonctions d'entr\'ee / sortie seront disponibles dans l'application:

\begin{itemize}
\item{Chargement et sauvegarde des sc\`enes au format binaire du modeleur\index{modeleur}
ou au format script de Photon 4d\index{Photon 4D}.}
\item{Possibilit\'e d'utiliser le module d'importation pour charger dans le modeleur
des objets plus complexes, provenant d'autres outils de mod\'elisation
3d, et utilis\'es comme \'emetteur\index{\'Emetteur} de base de type r\'eseau de facettes dans notre logiciel.
Cette possibilit\'e permettra d'utiliser pleinement les capacit\'es de ce modeleur en ce qui
concerne la g\'en\'eration de peaux autours des objets.
\\En compl\'ement, on trouve \'egalement le module d'exportation qui permet de
sauvegarder la sc\`ene dans
divers formats permettant la r\'eutilisation dans d'autres logiciels :
\begin{enumerate}
\item{3DS (Fichier 3d Studio)}
\item{VRML}
\item{POV (Scripts Persistance Of Vision)}
\item{DXF (format Autocad)}
\item{LWG (Fichier Lightwave 3d)}
\item{\ldots{}}
\end{enumerate}
}
\end{itemize}


\section{L'animation}

\renewcommand{\theenumi}{\alph{enumi}}
\renewcommand{\labelenumi}{(\theenumi)}

L'utilisateur pourra aussi g\'en\'erer des animations gr\^ace au module d'animation
qui sera int\'egr\'e dans l'interface.
Il pourra cr\'eer une animation sur les objets de la sc\`ene de deux mani\`eres diff\'erentes :
\begin{enumerate}
\item{par modification des param\`etres d'un objet \`a certains intervalles d'images, le
modeleur\index{modeleur} s'occupant de g\'en\'erer les valeurs des param\`etres pour les diff\'erentes
images de l'intervalle,}
\item{par attachement d'une formule math\'ematique \`a un param\`etre d'un objet
en fonction du temps.}
\end{enumerate}

Les param\`etres qui pourront \^etres utilis\'es dans une animation seront la position et
l'orientation d'une m\'etaforme et des \'emetteurs\index{\'Emetteur}, ainsi que les valeurs des champs dans les 
propri\'et\'es des m\'etaformes\index{M\'etaforme} (seuil\index{Seuil}) et des \'emetteurs (rayon\index{Rayon}, puissance{Puissance}).


\endinput