NEWS         TESTS         INTERVIEWS         DOSSIERS         GALLERY 3D         3D SITES
 Q&A

Joachim Pouderoux et Jean-Eudes Marvie
Projet IPARLA (LaBRI – INRIA Futurs)
Université Bordeaux 1

03 mars 2005

   
Q1 Brève présentation de GLUT|ES.
A1

GLUT|ES est une adaptation de la bibliothèque GLUT (OpenGL Utility Toolkit, mise au point par Mark Kilgard pour son livre OpenGL ‘RedBook’) pour les ordinateurs embarqués. Celle-ci est pour l’instant compatible avec les systèmes de type Windows Mobile ou Windows PC. GLUT|ES fonctionne donc sur des terminaux de type PocketPC, SmartPhone et PC. Un port Symbian est prévu. GLUT|ES est basés sur la bibliothèque de rendu 3D dédiée à ces appareils : OpenGL|ES.

GLUT est une API multi plateforme permettant au développeur de créer et de gérer facilement une fenêtre de rendu OpenGL, de gérer les interactions avec l’utilisateur (clavier, souris ou stylet...), de créer des menus etc. GLUT|ES (cf. Fig. 1) est basée sur une implémentation OpenSource de GLUT appelée freeglut (initiée par Pawel W. Olszta).

Pour en revenir à OpenGL|ES, c’est une API de bas niveau définissant un ensemble de fonctions permettant de tracer des primitives géométriques 3D à l’écran. OpenGL|ES est en réalité une version allégée d’OpenGL ayant pour but le rendu de scènes 3D de manière logicielle ou matérielle sur des machines à ressources (vitesse, mémoire, batterie, taillé d’écran) limitées.

   
Q2 Qu'apporte GLUT|ES pour les développeurs d'applications 3D pour équipements embarqués ?
A2

GLUT|ES apporte tout ce qu’apporte originalement GLUT pour les développeurs d’applications 3D sur des stations de travail, à savoir une bibliothèque de fonctions de haut niveau permettant de créer très rapidement des applications 3D munies d’une interface utilisateur. Le principal avantage est la portabilité : l’intérêt de GLUT en général est son rôle d’interface entre le système d’exploitation et l’application. Il offre un ensemble de fonctions permettant de masquer au développeur le système de fenêtrage sous-jacent (cf. Fig. 2) ainsi que la gestion des évènements. L’application peut donc être compilée, de manière transparente, sur les différentes plates-formes compatibles avec GLUT|ES.

   
Q3 Actuellement, la plupart des PDAs ne disposent pas d'accélération 3D matérielle. Quel type de performances peut-on attendre de ces terminaux?
A3

Les performances varient fortement en fonction de la bibliothèque de rendu utilisée. Il existe plusieurs implémentations logicielles d’OpenGL|ES. La plus aboutie à ce jour semble être celle d’Hybrid, appelée Gerbera. D’autres tentatives existent cependant, respectant plus ou moins la spécification originale d’OpenGL|ES établie par Khronos : Vincent, projet open-source utilisant un mécanisme d’optimisation basé sur du code généré ou encore klimt, open-source également mais peu fidèle aux spécifications de Khronos.

Au sein de notre laboratoire, nous avons mis au point une plate-forme PC client/serveur, appelée Magellan, permettant d’effectuer un streaming de contenu 3D. L’interface de la partie cliente de Magellan, dédiée aux terminaux mobiles, a été créée très rapidement et sans optimisations spécifiques sur Windows Mobile à l’aide de GLUT|ES (cf. Fig. 3). A titre d’exemple, avec l’implémentation OpenGL|ES d’Hybrid, nous parvenons à visualiser des scènes texturées d’environ 5.000 triangles à 15 fps sur un Toshiba e800, et 6 fps sur un SmartPhone SPVe200. Ces résultats sont assez stupéfiant et permettent d’imaginer de vrais jeux complexes en 3D.

   
Q4 Quel type d'applications (jeux, e-learning...) peuvent être développées à l'aide de GLUT|ES ?
A4

Le champ d’application de GLUT|ES n’est vraiment pas limité. GLUT offre un ensemble de fonctions de bases pour gérer un contexte de rendu OpenGL et la gestion des interactions. Le reste est à la charge du développeur de l’application. A titre d’exemple, la plateforme Magellan nous permet de visualiser différents types d’environnements virtuels à travers des réseaux sans fil.

   
Q5 Est-ce que GLUT|ES peut être utilisé pour développer des contenus sur SmartPhone ?
A5 Absolument. L’avantage de la plate-forme SmartPhone est qu’elle est basée sur Windows Mobile comme les PDA de type PocketPC. Le code écrit pour PocketPC est donc compatible SmartPhone.
Nous avons pu constater que nos applications compilées pour PocketPC fonctionnaient sur un SmartPhone, équipé du même type de processeur, sans même avoir à les recompiler (cf. Fig. 5).
   
Q6 Sous quelle licence est diffusé GLUT|ES ?
A6 La licence de GLUT|ES est souple. Le code source peut être utilisé, copié, modifié et diffusé sans restriction. Il ne peut cependant pas être revendu.
   
Q7 Quelles sont les interactions possibles entre GLUT ES et Java, et JSR184 ?
A7 GLUT|ES est développé en langage C. Dans cette mesure, l’interaction avec Java et JSR184 n’est pas évidente et nécessiterait l’écriture d’un wrapper. Cependant, l’intérêt d’une telle interaction ne serait pas réellement justifiée car le langage Java est un langage de haut niveau et multi plate-forme. La société Hybrid propose une API : The Mobile 3D Graphics (M3G) permettant d’interfacer OpenGL|ES pour JSR184. Précisons cependant que les systèmes embarqués disposent de peu de puissance (e.g. pas de FPU) et qu’il est à ce titre beaucoup plus performant (à l’heure actuelle) d’utiliser du code compilé optimisé que du bytecode java.
   
   
 
  Search on 3d-test with Google
      A PROPOS DE 3D-TEST            INFORMATIONS LEGALES               LINKS              TRANSLATE WITH GOOGLE
 
© 2001-2007 3d-test, Panorama of web 3D technologies, 3d-test is edited by Westimages Realtime 3D Solution Provider