Spaces
This commit is contained in:
parent
c15e4e2876
commit
7f78dd95fe
|
@ -268,7 +268,7 @@ L3D est composée de plusieurs classes :
|
||||||
\item les canvas, qui permettent d'afficher des informations
|
\item les canvas, qui permettent d'afficher des informations
|
||||||
supplémentaires à l'écran
|
supplémentaires à l'écran
|
||||||
\item les loaders, qui permettent de charger des modèles de manière
|
\item les loaders, qui permettent de charger des modèles de manière
|
||||||
différente de celles proposées par \threejs
|
différente de celles proposées par \threejs{}
|
||||||
\item les classes mathématiques, comme les polynômes de Hermite
|
\item les classes mathématiques, comme les polynômes de Hermite
|
||||||
\item les recommandations, notamment les flèches et les \emph{viewports}
|
\item les recommandations, notamment les flèches et les \emph{viewports}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
@ -281,7 +281,7 @@ rouges.
|
||||||
\paragraph{}
|
\paragraph{}
|
||||||
Dans le répertoire \texttt{utils}, il y a plusieurs outils pratiques pour le
|
Dans le répertoire \texttt{utils}, il y a plusieurs outils pratiques pour le
|
||||||
développement et le déploiement : c'est là qu'est rangé le \emph{minifier} de
|
développement et le déploiement : c'est là qu'est rangé le \emph{minifier} de
|
||||||
Google, \closurecompiler, et une version simplifiée, le Simple-Compiler, qui
|
Google, \closurecompiler{}, et une version simplifiée, le Simple-Compiler, qui
|
||||||
utilise les mêmes paramètres mais se contente de concaténer le code.
|
utilise les mêmes paramètres mais se contente de concaténer le code.
|
||||||
|
|
||||||
\paragraph{}
|
\paragraph{}
|
||||||
|
|
|
@ -79,13 +79,13 @@ mises en place.
|
||||||
\section{Streaming linéaire}
|
\section{Streaming linéaire}
|
||||||
La première étape de cette fonctionnalité a été de faire un système
|
La première étape de cette fonctionnalité a été de faire un système
|
||||||
client-serveur permettant le streaming de modèle 3D. En effet, les
|
client-serveur permettant le streaming de modèle 3D. En effet, les
|
||||||
\emph{loaders} de modèles présents dans la libraire \threejs ne permettent pas
|
\emph{loaders} de modèles présents dans la libraire \threejs{} ne permettent pas
|
||||||
le chargement progressif : ils se content d'envoyer une requête vers le fichier
|
le chargement progressif : ils se content d'envoyer une requête vers le fichier
|
||||||
contenant le modèle et à créer un modèle une fois que le fichier est chargé
|
contenant le modèle et à créer un modèle une fois que le fichier est chargé
|
||||||
complètement.
|
complètement.
|
||||||
|
|
||||||
\paragraph{}
|
\paragraph{}
|
||||||
Pour commencer, nous avons donc utilisé \socketio, une librairie permettant de
|
Pour commencer, nous avons donc utilisé \socketio{}, une librairie permettant de
|
||||||
gérer les sockets facilement avec JavaScript et Nodejs, pour faire une première
|
gérer les sockets facilement avec JavaScript et Nodejs, pour faire une première
|
||||||
version simpliste du streaming : on travaillait sur un modèle ne contenant que
|
version simpliste du streaming : on travaillait sur un modèle ne contenant que
|
||||||
des sommets et des faces (donc pas de textures ni de normales) et le protocole
|
des sommets et des faces (donc pas de textures ni de normales) et le protocole
|
||||||
|
@ -160,7 +160,7 @@ données inutiles).
|
||||||
|
|
||||||
\paragraph{}
|
\paragraph{}
|
||||||
C'est dans cette version que nous avons commencé à nous intéresser à la façon
|
C'est dans cette version que nous avons commencé à nous intéresser à la façon
|
||||||
de gérer les matériaux. Dans \threejs, un objet 3D est lié à un materiau, et
|
de gérer les matériaux. Dans \threejs{}, un objet 3D est lié à un materiau, et
|
||||||
nous sommes donc obligés de créer autant d'objets que de materiaux. Pour cela,
|
nous sommes donc obligés de créer autant d'objets que de materiaux. Pour cela,
|
||||||
nous avons légèrement modifié notre protocole :
|
nous avons légèrement modifié notre protocole :
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ Pour le côté client, il y avait plusieurs possibilités :
|
||||||
\paragraph{}
|
\paragraph{}
|
||||||
La plupart des moteurs graphiques exportant vers JavaScript sont putôt lourd à
|
La plupart des moteurs graphiques exportant vers JavaScript sont putôt lourd à
|
||||||
prendre en main, et nous voulions garder des solutions simples, c'est pourquoi
|
prendre en main, et nous voulions garder des solutions simples, c'est pourquoi
|
||||||
nous avons utilisé une librairie libre nommée \threejs permettant une
|
nous avons utilisé une librairie libre nommée \threejs{} permettant une
|
||||||
utilisation facile de WebGL.
|
utilisation facile de WebGL.
|
||||||
|
|
||||||
\paragraph{}
|
\paragraph{}
|
||||||
|
@ -46,7 +46,7 @@ herbergé sur une petite machine de 512Mo de RAM).
|
||||||
\paragraph{}
|
\paragraph{}
|
||||||
Quand les problématiques de streaming ont commencé à apparaître, nous avons
|
Quand les problématiques de streaming ont commencé à apparaître, nous avons
|
||||||
choisi la simplicité en utilisant Node.js pour le côté serveur (un serveur
|
choisi la simplicité en utilisant Node.js pour le côté serveur (un serveur
|
||||||
écrit en JavaScript) à cause de la présence d'une librairie nommée \socketio
|
écrit en JavaScript) à cause de la présence d'une librairie nommée \socketio{}
|
||||||
qui s'avère très pratique pour la communication entre le client et le serveur.
|
qui s'avère très pratique pour la communication entre le client et le serveur.
|
||||||
Pour des raisons pratiques, le serveur a été herbergé sur un cloud gratuit
|
Pour des raisons pratiques, le serveur a été herbergé sur un cloud gratuit
|
||||||
(OpenShift).
|
(OpenShift).
|
||||||
|
@ -104,7 +104,7 @@ aspects théoriques de ce qui a été réalisé pendant ce projet.
|
||||||
|
|
||||||
\subsection{\href{http://l3d.no-ip.org/}{L3D}}
|
\subsection{\href{http://l3d.no-ip.org/}{L3D}}
|
||||||
Pour de la documentation de plus bas niveau (comment chaque classe ou méthode
|
Pour de la documentation de plus bas niveau (comment chaque classe ou méthode
|
||||||
fonctionne) nous avons utilisé \jsdoc (équivalent de javadoc mais pour
|
fonctionne) nous avons utilisé \jsdoc{} (équivalent de javadoc mais pour
|
||||||
JavaScript) et nous générons automatiquement des pages html pour avoir une
|
JavaScript) et nous générons automatiquement des pages html pour avoir une
|
||||||
documentation lisible et à jour sans avoir à parcourir le code.
|
documentation lisible et à jour sans avoir à parcourir le code.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue